php怎么设置不输出错误而写入日记
-
要设置PHP不输出错误而将错误写入日记,可以通过修改php.ini文件或者在代码中使用error_log函数来实现。
1. 修改php.ini文件:
找到php.ini文件(一般位于PHP安装目录下的php文件夹中),用文本编辑器打开。
搜索并找到以下几行代码(具体行号可能会有所不同):
“`
display_errors = On
error_reporting = E_ALL
“`
将这两行代码修改为:
“`
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
“`
保存并退出php.ini文件,重新启动PHP服务。2. 使用error_log函数:
在你的代码中使用error_log函数,将错误信息写入日记文件。
“`
ini_set(‘display_errors’, ‘Off’);
ini_set(‘error_reporting’, E_ALL & ~E_DEPRECATED & ~E_STRICT);
ini_set(‘log_errors’, ‘On’);
ini_set(‘error_log’, ‘/path/to/error.log’);
“`
将上述代码加入你的PHP脚本的开头部分,将`’/path/to/error.log’`替换为你想要保存错误日志的具体文件路径。
这样,所有的错误信息都会写入指定的日记文件,而不会在浏览器中显示。无论使用哪种方法,记得及时查看错误日记文件,以便进行错误排查和修复。
2年前 -
要设置PHP不输出错误而将错误写入日志文件,可以按照以下步骤进行操作:
1. 打开PHP配置文件
打开php.ini文件,该文件通常位于PHP安装目录下的“conf”或“etc”文件夹中。2. 配置错误报告级别
在php.ini文件中搜索错误报告级别的配置,找到并修改如下行:
“`
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
“`
将错误报告级别设置为不显示通知、废弃警告和严格模式的错误。3. 配置错误日志路径
在php.ini文件中搜索错误日志路径的配置,找到并修改如下行:
“`
error_log = /path/to/error/log
“`
将路径替换为你想要存储错误日志的文件的路径。4. 设置错误日志格式
在php.ini文件中搜索错误日志格式的配置,找到并修改如下行:
“`
log_errors = On
“`
将该选项设置为开启状态,表示开启错误日志功能。5. 重启Web服务器
保存并关闭php.ini文件后,需要重启Web服务器使更改生效。现在,PHP将不再在浏览器中显示错误信息,而是将错误信息写入到指定的日志文件中。你可以使用文本编辑器打开指定的错误日志文件,查看程序运行过程中产生的错误信息。记得定期清理错误日志文件,以免占用过多磁盘空间。
2年前 -
在PHP中,如果想要不将错误信息直接输出到用户的浏览器上,而是将错误信息写入日记文件中,可以采用以下方法:
第一步:设置错误报告级别
PHP中有一个全局变量叫做`error_reporting`,它用于设置PHP的错误报告级别。可以使用该变量来控制哪些错误将被报告并显示,哪些错误将被忽略。PHP错误报告级别由一个整数值来表示,不同的整数值对应着不同的错误报告级别。
在生产环境中,我们通常设置`error_reporting`的值为1(即`E_ERROR`),将只显示致命错误。
以下是常见的错误报告级别值:
– `E_ALL`(所有错误都报告)
– `E_ERROR`(致命错误)
– `E_WARNING`(警告错误)
– `E_NOTICE`(普通提示)
– `E_STRICT`(提示关于PHP的安装问题)
– `E_DEPRECATED`(不推荐使用的功能的警告)第二步:设置错误日记文件路径
在PHP中,可以使用`ini_set`函数来设置错误日记文件的路径。`ini_set`函数用于在运行时修改PHP.ini的配置参数。具体操作如下:
“`php
ini_set(‘log_errors’, 1); // 开启错误日记
ini_set(‘error_log’, ‘/path/to/error_log’); // 错误日记文件路径
“`在上面的代码中,`log_errors`设置为1表示要将错误写入错误日记文件中,`error_log`指定了错误日记文件的路径。这个路径可以是绝对路径也可以是相对路径。
第三步:错误处理函数
可以通过设置自定义的错误处理函数来处理错误日记的写入。可以使用`set_error_handler`函数来设置自定义的错误处理函数。具体操作如下:
“`php
function customErrorHandler($errno, $errstr, $errfile, $errline) {
// 自定义的错误处理逻辑,将错误写入错误日记文件// 添加时间信息
$error_message = date(“Y-m-d H:i:s”) . ” – “;// 添加错误级别信息
$error_message .= “Error: [$errno] $errstr – “;// 添加错误文件路径和行号信息
$error_message .= “File: $errfile ($errline)”;// 将错误信息写入错误日记文件
error_log($error_message, 3, ‘/path/to/error_log’);
}// 设置错误处理函数
set_error_handler(‘customErrorHandler’);
“`在上面的代码中,自定义的错误处理函数`customErrorHandler`接收四个参数(错误号,错误信息,错误文件路径和行号),我们可以在该函数中按照自己的需求来处理错误信息,然后将错误信息写入错误日记文件中。
通过上面的步骤,我们可以将PHP的错误信息写入到指定的错误日记文件中,而不会直接输出到用户的浏览器上。
2年前