2014-10-06 53 views
0

我目前正在尝试使用Mailgun的webhook来检索电子邮件,但我遇到了一些问题。无法从Mailgun登录POST数据PHP

我的PHP代码目前已设置为抓取任何发布数据并将其写入txt文件,因此我知道一切都是正常工作,但没有任何显示。

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

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

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

我已将txt文件的权限更改为655,以查明它是否与此有关,但我仍然没有任何结果。我创建了一个Mailgun bin URL并在那里测试了Webhooks,并且似乎都在工作。

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

+1

尝试发布包含假数据的网址。 – 2014-10-06 08:13:41

+0

发现我的PHP文件没有写任何post数据到我的txt文件。我会看看为什么,但感谢您的评论。我很感激。 – CheckeredMichael 2014-10-06 08:26:06

+0

我发现这个有用的链接http://stackoverflow.com/questions/13361376/write-output-of-print-r-in-a-txt-file-php,发现var_dump()实际上不会写入一份文件。相反,我使用print_r($ _ POST,true); – CheckeredMichael 2014-10-06 08:30:09

回答

0

我发现问题在于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); 
} 

我知道这会影响服务器在一个糟糕的方式是相当缓慢的。我只是使用它进行初始测试,并已被删除生产。