安裝好php為什麼要複製一份php.ini 到/usr/local/php/lib/php.ini
我試過了 如果不複製一份 php也能正常運行 為什麼要從安裝包裡複製一份php.ini 到 /usr/local/php/lib/php.ini 目錄下呢
回複內容:
安裝好php為什麼要複製一份php.ini 到/usr/local/php/lib/php.ini
我試過了 如果不複製一份 php也能正常運行 為什麼要從安裝包裡複製一份php.ini 到 /usr/local/php/lib/php.ini 目錄下呢
目前排名第一的 @TonyX 說的沒錯,給出了可以解決所有疑問的通用方法。但是對於這個問題並沒有直接給出答案,如果我是題主,我是不想要這樣的答案的。
回到樓主問題,為什麼要拷貝到那個目錄,那時因為 PHP 編譯時間指定了設定檔目錄,而指定的目錄是 /usr/local/php/lib 因此 PHP 啟動時會去那個目錄下讀取 php.ini 的設定檔,不拷貝不影響 PHP 正常運行,只不過無法添加配置項罷了。要查看當前 PHP 會去哪個目錄下找設定檔,可以在 phpinfo() 中看到,(命令列下運行 php -i 也可以),看到 'Configuration File (php.ini) Path' 和 'Scan this dir for additional .ini files' 兩項,這裡面記錄了 PHP 載入 .ini 設定檔的路徑。
建議題主下載一份 PHP 的 source code 自己嘗試著去編譯運行一遍。
紙上得來終覺淺,絕知此事要躬行。
——《冬夜讀書示子聿》
這一點題主已經做到了。
以訛傳訛。
——《呂氏春秋》
盡信書,則不如無書。
——《孟子.盡心下》
題主要明白網上的資訊大多數是垃圾,要學會篩選資訊,要有自己的判斷力,實踐出真知。
。。。不需要複雜一份到那個目錄啊,
複製到你編譯安裝時configure指定的php.ini設定檔目錄裡面。。
一般是/usr/local/php/etc這個目錄。
你沒複製也能運行時正常的, 你看下phpinfo裡面載入的是哪個php.ini.
/usr/local/php/lib/php.ini 裡面有一些你在編譯時間進行配置的項目,如果你沒有進行配置那麼這裡的檔案和PHP預設啟動時候的相關配置項是一樣的,你也就沒有必要進行複製。
只要php 在運行時能找 phpini 你放在那裡都可以
編譯時間php時,如果沒有指定--with-config-file-path, 預設就是上述目錄:
--with-config-file-path=PATH
Set the path in which to look for php.ini [PREFIX/lib]
所以,需要複製到lib目錄中。
php運行時,可以沒有php.ini, 這時將使用預設參數值。
shell鍵入 php --ini
查看PHP載入的配置。
沒有php.ini檔案,php會載入預設的配置,所以不會出錯。
而指定了php.ini檔案,是為了讓你更靈活的配置php,非必需
拷貝到得位置是安裝php時候的參數--with-config-file-path的位置,指定這個檔案主要是為了靈活配置