
在我們的 Amazon EC2 執行個體上,我卸載了 PHP5.3 ( yum remove php
) 並安裝了 PHP 5.5,它也捆綁在 Apache 2.4 ( yum install php54
) 中。
由於某種原因,我的php.ini
文件不再被讀取。看起來它可能已被棄用,也許我應該使用/etc/php-5.5.ini
它 - 但那個也沒有被閱讀! (奇怪的是,我找不到任何關於此的文檔。谷歌搜尋“php-5.5.ini”(帶引號)沒有返回任何有用的結果!?)
運行php --ini
,我得到這個:
[ec2-user@ip ~]$ php --ini
Configuration File (php.ini) Path: /etc/php-5.5.d
Loaded Configuration File: /etc/php-5.5.d/php.ini
Scan for additional .ini files in: /etc/php-5.5.d
Additional .ini files parsed: /etc/php-5.5.d/apc.ini,
/etc/php-5.5.d/bz2.ini,
/etc/php-5.5.d/calendar.ini,
/etc/php-5.5.d/ctype.ini,
/etc/php-5.5.d/curl.ini,
/etc/php-5.5.d/dom.ini,
/etc/php-5.5.d/exif.ini,
/etc/php-5.5.d/fileinfo.ini,
/etc/php-5.5.d/ftp.ini,
/etc/php-5.5.d/gd.ini,
/etc/php-5.5.d/gettext.ini,
/etc/php-5.5.d/iconv.ini,
/etc/php-5.5.d/json.ini,
/etc/php-5.5.d/mbstring.ini,
/etc/php-5.5.d/mysqlnd.ini,
/etc/php-5.5.d/mysqlnd_mysql.ini,
/etc/php-5.5.d/mysqlnd_mysqli.ini,
/etc/php-5.5.d/pdo.ini,
/etc/php-5.5.d/pdo_mysqlnd.ini,
/etc/php-5.5.d/pdo_sqlite.ini,
/etc/php-5.5.d/phar.ini,
/etc/php-5.5.d/php.ini,
/etc/php-5.5.d/posix.ini,
/etc/php-5.5.d/shmop.ini,
/etc/php-5.5.d/simplexml.ini,
/etc/php-5.5.d/sockets.ini,
/etc/php-5.5.d/sqlite3.ini,
/etc/php-5.5.d/sysvmsg.ini,
/etc/php-5.5.d/sysvsem.ini,
/etc/php-5.5.d/sysvshm.ini,
/etc/php-5.5.d/tokenizer.ini,
/etc/php-5.5.d/xml.ini,
/etc/php-5.5.d/xml_wddx.ini,
/etc/php-5.5.d/xmlreader.ini,
/etc/php-5.5.d/xmlwriter.ini,
/etc/php-5.5.d/xsl.ini,
/etc/php-5.5.d/zip.ini
此處未列出這兩個 ini 檔案。有一個/etc/php-5.5.d/php.ini
,但除了以下訊息之外它是空白的:; The php.ini file has moved to /etc/php-5.5.ini.
但同樣,/etc/php-5.5.ini 也沒有被讀取...
我不確定“.d”命名方案在這裡意味著什麼 - 是“預設”還是“守護程式”還是其他什麼?
我該怎麼做才能讀取這些 INI 檔案?還是我只需要把所有東西都丟進去/etc/php-5.5.d/php.ini
?
答案1
您的 PHP 配置為讀取.ini
該資料夾中的所有檔案/etc/php-5.5.d
。這允許設定的邏輯分離 - APC 的設定 go in apc.ini
,memcached 的設定 go in memcached.ini
,等等。
您可以將要修改的任何設定放入該資料夾中/etc/php-5.5.d/php.ini
或在該資料夾中建立新設定.ini
。/etc/php-5.5.d/DOOManiac.ini
例如,效果就很好。
關於.d
資料夾:
https://unix.stackexchange.com/questions/4029/what-does-the-d-stand-for-in-directory-names