php.ini修改不生效的解決方案:1、重新載入「php.ini」檔案;2、在列印出的「phpinfo();」中搜尋修改的設定;3、檢視「php -fpm.conf”設定檔並修改即可。
#推薦:《PHP視頻教學》
php.ini修改後不生效主要有以下幾種原因:
1、修改php.ini設定檔後,沒有重新載入php.ini設定檔。
2、存在多個php.ini設定檔
3、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=*** "
以上是如何解決linux下修改php.ini不生效的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!