2012-04-05 36 views
2

我在服務器上移動了我的網站以便上線,但我遇到了一個針對設計爲返回文本值的PHP文件的Ajax調用的問題。我試圖找出錯誤是什麼。該代碼適用於我的本地PC。如何從Ajax調用PHP文件失敗獲取更多信息?

我從Ajax調用得到的錯誤是:

Error: error Internal Server Error 

我現在用的是下面這段代碼進行調用:

function goClick(ttype, vvalue) { 

    $.get(fw_script, { type: ttype, value: vvalue, langpref: langpref }) 
     .success(function(result) { 
      setResult(result); 
     }) 
     .error(function(jqXHR, textStatus, errorThrown) { 
      setResult("Error: " + textStatus + " " + errorThrown); 
      alert("Failure"); 
     }); 

} 

我如何能獲取有關什麼事情的詳細信息導致這個問題?我不是PHP的專家。在PHP中是否有一些相當於Java的try {} catch {} finally{}?這是否是在服務器端捕獲異常錯誤的正確方法?我應該用捕獲包裝我的PHP代碼嗎?如何檢索有關內部錯誤的信息?

+0

確保請求首先到達所需的PHP文件。你在螢火蟲中看到什麼? (安裝firebug firefox插件)獲取錯誤的詳細信息 – sakhunzai 2012-04-05 12:37:50

+0

根據FireBug的調用URL似乎是正確的 – JVerstry 2012-04-05 13:05:35

回答

2

你完全正確。 try {} catch {}在PHP中以相同的方式工作。 http://php.net/manual/en/language.exceptions.php

內部服務器錯誤通常是由錯誤或類似的PHP文件造成的。您可以嘗試啓用錯誤記錄以獲取有關錯誤的更多詳細信息。

在PHP腳本 //頂部
2

認沽下面的代碼登錄PHP錯誤

<?php 
@ini_set('log_errors','On'); // enable or disable php error logging (use 'On' or 'Off') 
@ini_set('display_errors','Off'); // enable or disable public display of errors (use 'On' or 'Off') 
@ini_set('error_log','/home/path/logs/php-errors.log'); // path to server-writable log file 
?> 
相關問題