2009-07-07 67 views
1

編譯PHP導致性能問題時,是否啓用配置選項with-config-file-scan-dir的php.ini配置文件掃描性能

具體來說,這是否告訴PHP程序做一個文件系統掃描每一個PHP模塊加載到響應請求的時間?

我想是這樣,而且有多個INI文件會導致在每次請求只是一點點更多的磁盤訪問。我想這可以通過將所有這些單獨的指令放入相同的php.ini文件中來緩解。

任何人都可以確認或否認這一點?

回答

1

不,如果我理解正確的話,你會爲其提供了當PHP配置加載一個目錄(Apache的啓動),PHP將在該目錄作爲配置文件讀取每個文件。

一些信息herehere(更好的鏈路)

+0

謝謝 - 這是有道理的。我認爲它會在每個HTTP請求上加載這些conf文件。沒有意識到它在Apache啓動時加載它們。 – 2009-07-08 15:29:34

1

這是否告訴PHP程序做一個文件系統掃描每一個PHP模塊加載到響應請求的時間?

編號當你編譯--with-config-file-scan-dir=/path/to/dir時你所做的只是告訴PHP將這個目錄中的所有文件合併到它的配置中。這是一種經常用於系統配置的方法,其中軟件包管理系統需要能夠從應用程序添加/刪除軟件包特定配置,而不會潛在地破壞最終用戶修改的配置文件。這裏的一個例子是,在基於Debian的系統上,當您使用apt-get install php-pgsql時,它將創建一個/etc/php/conf.d/pgsql.ini,其中將包含extension=pgsql.so行以及任何模塊特定的選項。

在編譯PHP時是否啓用配置選項與配置文件掃描目錄導致性能問題?

不是。實際上,它僅僅是該特定目錄中所有.ini文件的串聯。

我可以告訴你,Debian的,CentOS的,和Zend Server的所有默認情況下使用此選項。

而且,就在我的頭,* nix的RC文件的Apache2,快遞,Emacs和克龍都使用(或可以使用)類似的方法來加載配置的頂部。

2

布萊恩,

的CLI /(快速)CGI版本做每次被解僱了時加載的.ini文件;但是,當服務器啓動時,apache模塊會將它們加載到內存中。您可以通過更改任何.ini文件中的值並運行CLI二進制文件來測試此行爲。請注意,您需要重新啓動服務器才能看到服務器模塊版本中的更改。