php怎么设置不输出错误而写入日记

fiy 其他 115

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要设置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年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要设置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年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在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年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部