PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php怎么打开错误日志

王林
王林 原创
2021-03-09 17:26:06 4409浏览

php打开错误日志的方法:1、打开php.ini配置文件,找到“log_errors”选项,将该选项的值由“off”改为“on”。2、在php文件中使用使用ini_set()函数修改,语法“ini_set("log_errors", "on");”。

本文操作环境:windows10系统、php8、thinkphp t480电脑。

开启错误日志,PHP提供两种方法。

方法1:修改php.ini文件

只需要在php.ini配置文件中做如下修改即可:

1. error_reporting  =  E_ALL    #将会向PHP报告发生的每个错误
2. display_errors = Off    #不显示满足上条 指令所定义规则的所有错误报告,设置成off发生错误时,浏览器报500,不显示具体错误(具体错误不会输出到浏览器上,用户也就看不到。会写到第5步的错误文件中,非正式环境全设置成on更方便) 
3. log_errors = On    #开启错误日志  
4. log_errors_max_len = 1024    #设置每个日志项的最大长度  
5. error_log =/usr/local/error.log    #指定产生的 错误报告写入的日志文件位置

PHP的配置文件按上面的方式设置完成以后,并重新启动Web服务器。这样,在执行PHP的任何脚本文件时,所产生的所有错误报告都不会在浏览器中显示,而会记录在自己指定的错误日志 /usr/local/error.log 中。

此外,不仅可以记录满足error_reporting所定义规则的所有错误,而且还可以使用PHP中的error_log()函数,送出一个用户自定义的错误信息,写入到error_log中。或故意发生个错误,如 运行echO,触发的错误就会写到php的错误日志中。

方法2:使用ini_set()函数

ini_set("log_errors", "On");//开启错误日志
ini_set("display_errors", "On");//打开错误提示
ini_set("error_reporting", E_ALL);//显示所有错误

PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。

扩展知识:

错误级别包括:

E_ALL                  - 所有错误和警告(包括PHP 5.4.0中的E_STRICT)
E_ERROR                - 致命的运行时错误
E_RECOVERABLE_ERROR    - 几乎致命的运行时错误
E_WARNING              - 运行时警告(非致命错误)
E_PARSE                - 编译时解析错误
E_NOTICE               - 运行时通知(这些通常是警告,从您的代码中的错误,但它可能是故意的(例如,使用未初始化的变量和赖于它自动初始化为一个事实空字符串)
E_STRICT               - 运行时通知,允许PHP建议更改您的代码将确保最佳的互操作性,并转发代码的兼容性
E_CORE_ERROR           - PHP初始启动期间发生的致命错误
E_CORE_WARNING         - PHP期间发生的警告(非致命错误),初次启动
E_COMPILE_ERROR        - 致命的编译时错误
E_COMPILE_WARNING      - 编译时警告(非致命错误)
E_USER_ERROR           - 用户生成的错误消息
E_USER_WARNING         - 用户生成的警告消息
E_USER_NOTICE          - 用户生成的通知消息
E_DEPRECATED           - 警告代码在将来的PHP版本中不起作用
E_USER_DEPRECATED      - 用户生成的弃用警告

error_reporting最常见的几种组合设置:

E_ALL (显示所有错误,警告和通知,包括编码标准。)
E_ALL & ~E_NOTICE  (显示所有错误,通知除外)
E_ALL & ~E_NOTICE & ~E_STRICT  显示所有错误,通知和编码标准警告除外。)
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (仅显示错误)

相关推荐:php教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。