通過apt-get方式安裝PHP和自己手動編譯兩種方式的配置文件有些差異。這里只說下通過apt-get方式安裝的情況(我沒自己編譯過)。
配置文件默認放在/etc/php5目錄下。
以下是我機器中/etc/php5目錄詳情:
--------------------------------
/etc/php5$>ls -l */
apache2/:
總計 68
lrwxrwxrwx 1 root root 9 2010-11-22 23:21 conf.d -> ../conf.d
-rw-r--r-- 1 root root 67547 2010-10-15 22:33 php.ini
cli/:
總計 68
lrwxrwxrwx 1 root root 9 2010-11-22 23:21 conf.d -> ../conf.d
-rw-r--r-- 1 root root 67545 2010-10-15 22:33 php.ini
conf.d/:
總計 8
-rw-r--r-- 1 root root 54 2010-10-15 22:33 curl.ini
-rw-r--r-- 1 root root 52 2010-10-15 22:33 pdo.ini
-----------------------------------
可以看出,在etc/php5目錄下有三個文件夾:apache2,cli,conf.d。
其中:
apache2,cli下都有php.ini文件,且彼此獨立;
apache2,cli下有conf.d,且均是指向../conf.d(即/etc/php5/conf.d)的符號鏈接。
不 同的SAPI使用不同的配置文件。如果是apache,則使用etc/php5/apache2目錄下的配置文件,如果是命令行(CLI)則使用/etc /php5/cli目錄下的配置文件。而/etc/php5/conf.d目錄下的*.ini文件是針對某一擴展的額外配置文件,且是通用的(所以其他倆 個目錄都有到這個目錄的符號鏈接)。
由此我們可以知道php的配置文件被分割成了倆部分,一部分是主配置文件(php.ini),另一部分是額外的配置文件(如配置某個擴展的配置文件curl.ini)。另外不同的SAPI有各自獨立的主配置文件(php.ini)。
以上是通過apt-get方式安裝的情況。通常情況下,PHP配置文件只有一個,即php.ini。所有配置信息都在這一個文件里。然而分開配置使配置信息更加清晰和模塊化。
通過phpinfo()可以找到配置文件路徑的相關信息。
--------------
//showinf.php
<?php phpinfo(); ?>
------------------
在瀏覽器中打開showinf.php,會看相關信息,下面是節選:
可以看到系統會自動掃描conf.d下的*.ini文件。
因此,該修改哪個配置文件要視具體情況而定,比如作為apache的模塊運行web服務就要修改apache2下的php.ini,作為shell腳本運行則修改cli下的.
附加組件的配置信息寫到各自的×.ini中.