当我将“display_errors = off”添加到我的 php.ini 文件时,我仍然会显示一些 php 错误。
在将 display_errors = off 添加到我的 php.ini 文件之前,我得到了完整路径等显示(很多信息。不打算被用户看到)。将 display_errors = off 放入我的 php.ini 文件后,我得到的错误信息要少得多。显示,但我仍然收到以下错误:“对不起,有一个错误:用户 'username'@'localhost' 对数据库 'mydatabase' 的访问被拒绝。“对不起,有一个错误”是我的自定义 connect_error 模具文本,这就是我想要显示的全部内容。但是呈现我想避免的用户名和数据库。还有什么我需要添加到我的 php.ini 文件中,或者这可能是使用 connect_error 和死在我的 php 代码中?我的 LAMP 网站主机不允许我访问 .htaccess 和其他一些配置文件。但我有自己的 php。
一旦我让 display_error 以我想要的方式工作,我想将 log_errors & error_log 添加到我的 php.ini 文件中,以便我可以记录 php 错误以进行调试。
这是我在 php.ini 中的一行:
display_errors = off
这是我的 php 文件中的检查连接代码(以防万一):
if ($con->connect_error) {
die("Sorry, there was an error: " . $con->connect_error);
}
我希望我的 php.ini 中的 display_errors = off 在执行期间给我一个空白屏幕,或者只显示“对不起,有一个错误”,这将是我的偏好。任何意见建议表示赞赏。谢谢你。
更新:阅读我收到的原始帖子的评论后,我尝试修改一些代码并添加一些代码。
我在建立 mysql db 连接之前添加了以下代码行,以便在我的 php 错误日志中报告 mysql 错误:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
然后我将以下几行添加到我的 php.ini 中,这样所有错误都不会显示,而是写入 php 错误日志:
error_reporting = E_ALL
display_errors = off
log_errors = on
error_log = ../logs/my_php_error_log
我完全注释掉了我的“$con->connect_error”代码(如下),因为所有 mysql/php 错误现在都被记录到一个文件中,我经常检查。注意:如果不检查连接不是好的做法,请告诉我:
/*
if ($con->connect_error) {
die("Sorry, there was an error.");
}
*/
我所做的所有上述更改都是基于我从对原始帖子的评论中学到的知识,以及我在评论者提供的链接中阅读的更深入的信息。谢谢你。
繁花不似锦
炎炎设计