php.ini不生效的解決辦法:首先重新載入php.ini檔案,列印出「phpinfo();」;然後搜尋修改的設定;接著檢視「php-fpm.conf」組態檔;最後修改「php-fpm」的設定即可。
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=***"
更多相關知識,請存取PHP中文網!
以上就是linux下修改php.ini不生效怎麼辦的詳細內容,更多請關注TW511.COM其它相關文章!