Home  >  Article  >  Backend Development  >  How to open error log in php

How to open error log in php

王林
王林Original
2021-03-09 17:26:064670browse

How to open the error log in php: 1. Open the php.ini configuration file, find the "log_errors" option, and change the value of this option from "Off" to "On". 2. Use the ini_set() function to modify the PHP file, with the syntax "ini_set("log_errors", "On");".

How to open error log in php

The operating environment of this article: windows10 system, php8, thinkphp t480 computer.

Turn on the error log. PHP provides two methods.

Method 1: Modify the php.ini file

Just make the following modifications in the php.ini configuration file:

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 After the configuration file is set as above, restart the web server. In this way, when executing any PHP script file, all error reports generated will not be displayed in the browser, but will be recorded in the error log /usr/local/error.log specified by you.

In addition, not only can all errors that meet the rules defined by error_reporting be recorded, but also the error_log() function in PHP can be used to send a user-defined error message and be written to the error_log. Or if an error occurs intentionally, such as running echO, the triggered error will be written to the error log of PHP.

Method 2: Use the ini_set() function

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

PHP ini_set is used to set the value of php.ini, which takes effect when the function is executed and the script ends Afterwards, the settings become invalid. You can modify the configuration without opening the php.ini file, which is very convenient for virtual spaces.

Extended knowledge:

Error levels include:

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      - 用户生成的弃用警告

The most common combination settings of 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  (仅显示错误)

Related recommendations: php tutorial

The above is the detailed content of How to open error log in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn