配置文件“PHP.ini”不生效的原因:1、修改配置文件后,没有重新加载“PHP.ini”配置文件,只需重启服务,重新加载配置文件即可;2、存在多个“PHP.ini”配置文件;3、“PHP.ini”文件中的配置被其他文件中的配置覆盖了。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
1、修改PHP.ini配置文件后,没有重新加载PHP.ini配置文件。
问题排查:
1、修改配置后,重新加载PHP.ini文件,打印出PHPinfo();
查看读取的是哪个配置文件,确定你修改的配置文件是正确的。如下图:
2、在打印出的PHPinfo();
中搜索你修改的配置,注意Local Value(局部变量)和Master Value(主变量),Local Value会覆盖Master Value的值,Master Value是你PHP.ini配置项的值,而Local Value可能是在代码中设置的值,如下图,eg:ini_set('display_errors',true);
,
另外百度到说Apache的配置文件中可以重写PHP.ini的设置,可能在conf/httpd.conf,也可能在conf.d/**.conf中,一般在conf.d/PHP.conf中,但是在windows下没有找到conf.d文件,可能在linux版本的apache下有conf.d文件。
3、在linux环境下,PHP5.3.3以前PHP-fpm还没有被PHP收录,配置PHP基本都在PHP.ini里面,PHP5.3.3及以后,除了在PHP.ini配置以外,还可以在PHP-fpm.conf里面配置,而PHP-fpm.conf优先级比PHP.ini高。
查看PHP-fpm.conf配置文件,或者PHP-fpm.d/.conf文件中配置是否覆盖了PHP.ini中的配置,PHP-fpm的配置示例如下:
PHP_value[session.save_handler] = redis PHP_value[session.save_path] = tcp://***.***.***.***:6379?auth=***
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。