2012-04-05 83 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 
?> 
相关问题