2014-10-01 74 views
1

我們的服務器在某些POST請求返回空白頁面,狀態碼爲200.服務器返回空白頁面和200確定

沒有PHP錯誤。即使我手動清除$ _POST數組,問題仍然存在。

你有什麼想法?

Configutation: nginx的 symfony的2.3.20 PHP 5.4.33-1〜dotdeb.1 W¯¯也有清漆,但問題仍然存在清漆後關機。

錯誤與選項E_ALL

+0

php_value error_reporting on或off? – 2014-10-01 07:43:44

+0

那麼問題是什麼?我的意思是200意味着確定;)笑話不談,你應該共享**哪些POST參數**使這種行爲出現並可能共享代碼的相關部分。 – Theolodis 2014-10-01 07:44:56

+0

錯誤報告使用E_ALL選項。我認爲這與$ _POST沒有問題,因爲它甚至在我清除它時仍然存在 – 2014-10-01 07:46:27

回答

0

回答我自己的問題。

事實上,這是一個PHP錯誤 - 內存限制已到期。事實證明,當我通過strace綁定到php cgi過程。 Nginx沒有返回500個狀態碼。它甚至沒有查看致命錯誤並記錄它們(儘管error_reporting = On with E_ALL)。

我不知道爲什麼。我會就此提出另一個問題。

1

嘛報告中,在Symfony2中很容易返回,如:

return new Response(null, 200); 

至極確實你說正是它。你確定你要從symfony2返回內容嗎?

+0

是的,我很確定 – 2014-10-01 07:45:49

0

您正在使用哪個版本的symfony?該方案看起來更像是由於函數參數不匹配或不存在的函數調用導致的php錯誤。 - 在app_dev.php中啓用已啓用調試的應用程序。 - 在ErrorHandler.php handleFatal()函數中添加E_RECOVERABLE_ERROR,其中檢查錯誤類型。通常,不匹配的函數參數會拋出E_RECOVERABLE_ERROR類型的php錯誤,並且在symfony上處理不當。 完成此操作後,再次運行您的頁面。希望這個錯誤會在你的頁面上出現。 希望這可以幫助