2009-11-12 55 views
28

我有一種感覺,Apache使用的是我正在編輯的一個不同的php.ini文件。我在我的php.ini文件中進行了更改,重新啓動Apache,並且更改不會生效。所以我不知道該做什麼了。如何查看Apache正在查找php.ini文件的位置?

任何想法?

更新:發現它使用正確的php.ini文件...但我仍然不知道該怎麼辦!

+3

***注意:*** php-cli的'php.ini'文件與'apache2'的'php.ini'文件不同。我建議將符號鏈接到另一個以保持同步並避免混淆! – 2014-02-15 19:45:30

+1

'$ php -r「phpinfo();」 | grep php.ini' – Jacksonkr 2017-03-07 18:32:10

回答

42

要找到PHP正在運行的文件,請創建一個phpinfo文件(只需<?php phpinfo();?>)並查找「配置文件(php.ini)路徑」指令。

7

phpinfo()的輸出將包含此內容。當使用PHP作爲Apache模塊時,可以使用PHPIniDirhttpd.conf(或類似))配置它。

0

問題給你,你在unix或windows上運行的平臺是什麼? 如果它是基於unix的,請檢查您的php.ini是否與/ etc/httpd位於同一目錄中。再次,安裝Apache可以有所不同,所以檢查...或發出命令「find/-name php.ini -print」(不含引號),看看你正在使用哪一個

好的。既然你說你已經找到了正確的php.ini,當你編輯php.ini並重新加載apache時,聽起來像是缺少某些東西。在日誌目錄/ var/log/httpd中查找error_log,然後檢查是否有錯誤...那將是一個開始!

+0

在/var/log...可能沒有叫httpd可能不是雪豹的地方看? – Andrew 2009-11-13 04:35:21

+0

嗯...你正在運行Snow Leopard(我不熟悉它,但可以猜到它與freebsd變種類似)......在/ var/log中查找並查看日誌文件的位置是值得的保存...或者甚至更好的檢查httpd.conf(apache的配置文件)以查看實際日誌文件存儲在哪裏... – t0mm13b 2009-11-13 13:33:34

5

在命令行中運行

php -i |grep "php.ini" 

這將描述位置PHP是從加載其ini文件。您可以通過重新編譯php來重新配置php.ini位置。

+30

這將向您顯示php-cli的ini文件,它不一定是apache php模塊使用的相同的一個 – 2013-01-13 14:25:20

+7

不好,這顯示CLI使用的php.ini。 – Jeff 2015-05-06 13:21:45