2012-11-30 44 views
0

我使用admin-ajax在我的插件中進行ajax調用。所以,當出現錯誤時,我收到錯誤「內部服務器錯誤」,未顯示錯誤。我無法看到日誌,因爲我沒有訪問服務器?我試過像這樣:wordpress plugin admin ajax - 打印內部服務器錯誤的錯誤

try{ 

    $req = new WP_Http; 
    //$headers = array('Transfer-Encoding'=> 'chunked'); 

    $res = $req->request("url", array('method' => "POST", 'body' => $data)); 
    //Getting error at this line when size of $daya is more than 10MB. Till 10MB, it is sending post data successfully. 
    //After 10MB(approx), getting Internal server error. 
    //But cant just think this is server restriction to max post data, as phpinfo saying that max_post_size as 64MB 
} 
    catch(Exception $e){ 
     echo $e; 
    } 

但它仍然返回錯誤而沒有返回結果。我知道錯誤發生的路線,但想知道錯誤是什麼。

+0

你可以嘗試在你的wp-config.php中將'WP_DEBUG'設置爲'true'嗎?通常會顯示致命錯誤。 –

+0

我可以使用wordpress儀表板進行編輯嗎? – user1767962

+0

不幸的是,你可以嘗試添加'error_reporting(E_ALL); ini_set('display_errors',1);'你的functions.php,看看是否有效。 –

回答

1

由於您正在處理大量數據,因此您需要檢查內存限制 - PHP通常需要比您使用的數據大小更多的內存。

於是嘗試增加內存限制(如果它不具有該值的工作,嘗試用比這大):

ini_set('memory_limit', '128M'); 

或者你可以讓WordPress的爲你做的,通過添加以下行到wp-config.php

define('WP_MEMORY_LIMIT', '128M'); 
-1

500(內部服務器錯誤)是一個HTTP錯誤,而不是PHP錯誤。

一般來說,這是由服務器配置錯誤引起的(如httpd.conf中的錯誤.htaccess或「語法」錯誤)。

+0

已編輯的問題 – user1767962

+0

其實這並非總是如此。 PHP抑制錯誤,你的代碼觸發了一個致命的錯誤,你會得到一個內部的服務器錯誤,我在很多服務器上看到過這種情況,包括我在計算機上運行的Apache,我必須將'WP_DEBUG'設置改爲true以查看關於觸發該錯誤的信息。 –