我的 Zend 应用程序运行良好,直到今天,当我改变了一些东西(我的意思是什么都没有)导致新的控制器停止工作。我已经调试了代码的每一部分,但我找不到任何关于为什么会发生的痕迹!
我以前添加的控件正在运行,并且还添加了新操作,但新添加的控件不起作用。
错误是这样的:HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。
像这个问题一样的情况:
任何有解决方案的机构!请回复,我用新的替换了 apache、zend、php 库源的每一点,但没有成功。
我的 Zend 应用程序运行良好,直到今天,当我改变了一些东西(我的意思是什么都没有)导致新的控制器停止工作。我已经调试了代码的每一部分,但我找不到任何关于为什么会发生的痕迹!
我以前添加的控件正在运行,并且还添加了新操作,但新添加的控件不起作用。
错误是这样的:HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。
像这个问题一样的情况:
任何有解决方案的机构!请回复,我用新的替换了 apache、zend、php 库源的每一点,但没有成功。
我认为您没有足够的日志记录来解决此问题。你有一个致命的错误处理程序吗?这应该可以帮助您了解发生了什么(添加到 Boostrap 类)。基本上,它将致命错误记录到日志文件并向用户显示静态 html 页面。
/**
* Fatal Error Catcher which runs as a registered shutdown function
*/
public static function fatalErrorCatcher() {
$error = error_get_last();
if ($error && (
$error['type'] === E_ERROR ||
$error['type'] === E_COMPILE_ERROR ||
$error['type'] === E_CORE_ERROR ||
$error['type'] === E_PARSE
)) {
// kill the buffer content, it's broken anyway
while (ob_get_level()) {
ob_end_clean();
}
// make a summary of the error
$errorSummary = date('m/d/Y G:i:s') . ' '
. $error['message'] . ' on file ' . $error['file'] . ':' . $error['line'] . ' URL:'
. $_SERVER["SERVER_NAME"]
. ($_SERVER["SERVER_PORT"] != "80" ? ":" . $_SERVER["SERVER_PORT"] : "")
. $_SERVER["REQUEST_URI"] . "\n";
// log the error to file
file_put_contents('/var/log/fata-errors.log', $errorSummary, FILE_APPEND | LOCK_EX);
// tell the user we're sorry
header('HTTP/1.1 500 Internal Server Error');
echo file_get_contents('/var/www/html/fail-whale.html');
}
}
并且您在初始化时尽可能早地在引导程序中注册它:
register_shutdown_function(array('Bootstrap', 'fatalErrorCatcher'));