首頁  >  文章  >  後端開發  >  設定檔php.ini不生效是什麼原因

設定檔php.ini不生效是什麼原因

青灯夜游
青灯夜游原創
2022-02-18 11:35:134512瀏覽

設定檔「php.ini」不生效的原因:1、修改設定檔後,沒有重新載入「php.ini」設定文件,只需重啟服務,重新載入設定檔即可;2、存在多個「php.ini」設定檔;3、「php.ini」檔案中的配置被其他檔案中的配置覆蓋了。

設定檔php.ini不生效是什麼原因

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

設定檔php.ini修改後不生效主要有以下幾種原因:

1、修改php.ini設定檔後,沒有重新載入php.ini設定檔。

2、存在多個php.ini設定檔

3、php.ini中的設定被其他檔案中設定覆蓋

問題排查:

1、修改配置後,重新載入php.ini文件,列印出phpinfo();查看讀取的是哪個設定文件,確定你修改的設定檔是正確的。如下圖:

設定檔php.ini不生效是什麼原因

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文件。

設定檔php.ini不生效是什麼原因

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影片教學

以上是設定檔php.ini不生效是什麼原因的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn