如何从Ajax调用PHP文件失败中获取更多信息


How to obtain more information from Ajax call to PHP file failure?

为了上线,我在服务器上移动了我的网站,但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{}等效的内容?这是在服务器端捕获异常错误的正确方法吗?我应该用catch来包装我的PHP代码吗?如何检索有关内部错误的信息?

你说得很对。try {} catch {}在PHP中的工作方式相同。http://php.net/manual/en/language.exceptions.php

内部服务器错误通常是由PHP文件中的拼写错误或类似错误引起的。您可以尝试启用错误日志以获取有关错误的更多详细信息。

将以下代码放在php脚本之上//记录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
?>