我想在Drupal网站的根目录下创建一个简单的PHP状态文件。该文件将由Nagios等监控系统调用。我想完全自定义输出并在错误消息中添加一些其他详细信息(作为纯文本字符串)。
我尝试过以下代码:
define('DRUPAL_ROOT', __DIR__);
require_once realpath(DRUPAL_ROOT . '/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
restore_exception_handler();
restore_error_handler();
function exception_handler($exception) {
echo "Uncaught exception: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
echo "PHP Error: [$errno] $errstr<br />\n";
return true;
}
$old_error_handler = set_error_handler("myErrorHandler");
try {
db_query('SELECT COUNT(nid) FROM {node}');
echo 'ok';
}
catch (\PDOException $e) {
echo "Database problem";
}
catch (Exception $e) {
echo "Unexecpted error: " . $e->getMessage();
}
但是,当我尝试禁用数据库时(通过停止服务),Drupal自定义错误以HTML格式显示。
答案 0 :(得分:0)
您必须转到admin/config/development/logging
并选中None
选项以隐藏错误