Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示错误不起作用_Php - Fatal编程技术网

Php 显示错误不起作用

Php 显示错误不起作用,php,Php,我试图隐藏错误,但似乎我做错了什么。 在我的主机配置中,“显示错误”设置为“关闭”,并且我没有.htaccess文件。我试着写下面的剧本 <?php echo ord(ini_get("display_errors")) . " "; die("error"); ?> 因此,display_errors(显示错误)设置为off(关闭),但die功能仍在屏幕上显示错误。如何避免这种情况?通过执行DIERROR,您正在命令代码输出字符串错误并停止代码 您看到的错误消息并

我试图隐藏错误,但似乎我做错了什么。 在我的主机配置中,“显示错误”设置为“关闭”,并且我没有.htaccess文件。我试着写下面的剧本

<?php
    echo ord(ini_get("display_errors")) . " ";
    die("error");
?>
因此,display_errors(显示错误)设置为off(关闭),但die功能仍在屏幕上显示错误。如何避免这种情况?

通过执行DIERROR,您正在命令代码输出字符串错误并停止代码

您看到的错误消息并不意味着存在错误,它只是另一个字符串

die是一个常用于处理错误的功能,但在禁用“显示错误”时,它不会被禁用。无论它打算做什么,它都将继续发挥作用

如何避免这种情况

不要使用模具来处理错误


改为使用trigger_error,它将遵循您预期的行为

有一个选项可以将error显示到stderr而不是stdout,这样您就不会在网页上看到它们,而只能在日志中看到它们

我找到了error\u log函数。现在我可以使用

function quit($error)
{
    echo "Request failed";
    error_log($error);
    die();
}

它不会停止脚本执行触发E_USER_错误会停止脚本执行。在正常情况下,它还会在Apache的错误日志中放入一条日志消息。@Poma这就是您应该使用它的原因!因为终止脚本执行是愚蠢的。至少你必须先发送500个错误和一些用户友好的HTML。我不需要这样做,因为我正在为我的密钥管理服务器编写脚本,只有我的程序会向该脚本发出请求。我认为它应该将文本输出到stderr,而不是stdout@Poma,则不提stderr或stdout。die只是exit.trigger\u错误的别名,但根据错误处理设置,它与exit.trigger\u错误完全相同。
function quit($error)
{
    echo "Request failed";
    error_log($error);
    die();
}