可以';t从Mailgun PHP记录POST数据


Can't log POST data from Mailgun PHP

我目前正在尝试使用Mailgun的webhook来检索电子邮件,但遇到了一些问题。

我的PHP代码目前被设置为获取任何发布数据并将其写入一个txt文件,这样我就知道一切都正常,但什么都没有显示。

这是我目前的PHP代码。。。

if(!empty($_POST))
{
    $file = fopen('mail.txt','w');
    fwrite($file, var_dump($_POST));
    fclose($file);
}

很简单。。。然后,我进入Mailgun上的日志,输入代码的URL,然后单击测试。Mailgun告诉我,他们已经成功发送了一个样本请求,但每次我进入mail.txt进行检查时,文件仍然是空的。

我已经将txt文件的权限更改为655,以确定是否与此有关,但我仍然一无所获。我创建了一个Mailgun bin URL,并在那里测试了Webhook,一切似乎都正常。

有什么明显我没有做的吗?

我发现问题在于Linux服务器没有将var_dump()函数写入文本文件。我更改了文件夹的权限,自己创建了文件并更改了权限,删除了文件以允许PHP创建和写入文件,但这些都不起作用。

我的解决方案是使用ob函数,结果是这样的。。。

if(!empty($_POST))
{
    $file = fopen('mail.txt','w');
    ob_start();
    var_dump($_POST);
    fwrite($file, ob_get_clean());
    fclose($file);
}

我知道这会对服务器产生不良影响,而且速度非常慢。我只是在最初的测试中使用这个,后来被删除用于生产。