Home >Backend Development >PHP Problem >Why does the configuration file php.ini not take effect?
Reasons why the configuration file "php.ini" does not take effect: 1. After modifying the configuration file, the "php.ini" configuration file is not reloaded. You only need to restart the service and reload the configuration file; 2. There are multiple "php.ini" configuration files; 3. The configuration in the "php.ini" file is overwritten by the configuration in other files.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
After modifying the configuration file php.ini The main reasons why it does not take effect are as follows:
1. After modifying the php.ini configuration file, the php.ini configuration file was not reloaded.
2. There are multiple php.ini configuration files
3. The configuration in php.ini is overwritten by the configuration in other files
Troubleshooting:
1. After modifying the configuration, reload the php.ini file and print out phpinfo();
Check which configuration file is read and make sure the configuration file you modified is correct . As shown below:
#2. Search for the configuration you modified in the printed phpinfo();
, pay attention to the Local Value (local variable) and Master Value (main variable), Local Value will overwrite the value of Master Value. Master Value is the value of your php.ini configuration item, and Local Value may be the value set in the code, as shown below, eg: ini_set(' display_errors',true);
,
In addition, Baidu said that the settings of php.ini can be rewritten in the Apache configuration file, which may be in conf/httpd.conf or conf.d/* *.conf, usually in conf.d/php.conf, but the conf.d file is not found under Windows. There may be a conf.d file under the Linux version of apache.
3. In the Linux environment, php-fpm has not been included in php before php5.3.3. The configuration of php is basically in php.ini, php5.3.3 and later. , in addition to configuring in php.ini, you can also configure it in php-fpm.conf, and php-fpm.conf has a higher priority than php.ini.
Check the php-fpm.conf configuration file, or whether the configuration in the php-fpm.d/.conf file covers the configuration in php.ini. The configuration example of php-fpm is as follows:
php_value[session.save_handler] = redis php_value[session.save_path] = "tcp://***.***.***.***:6379?auth=***"
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of Why does the configuration file php.ini not take effect?. For more information, please follow other related articles on the PHP Chinese website!