2014-10-06 94 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); 
} 

我知道這會影響服務器在一個糟糕的方式是相當緩慢的。我只是使用它進行初始測試,並已被刪除生產。