编译PHP导致性能问题时,是否启用配置选项with-config-file-scan-dir
?的php.ini配置文件扫描性能
具体来说,这是否告诉PHP程序做一个文件系统扫描每一个PHP模块加载到响应请求的时间?
我想是这样,而且有多个INI文件会导致在每次请求只是一点点更多的磁盘访问。我想这可以通过将所有这些单独的指令放入相同的php.ini文件中来缓解。
任何人都可以确认或否认这一点?
编译PHP导致性能问题时,是否启用配置选项with-config-file-scan-dir
?的php.ini配置文件扫描性能
具体来说,这是否告诉PHP程序做一个文件系统扫描每一个PHP模块加载到响应请求的时间?
我想是这样,而且有多个INI文件会导致在每次请求只是一点点更多的磁盘访问。我想这可以通过将所有这些单独的指令放入相同的php.ini文件中来缓解。
任何人都可以确认或否认这一点?
这是否告诉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和克龙都使用(或可以使用)类似的方法来加载配置的顶部。
布莱恩,
的CLI /(快速)CGI版本做每次被解雇了时加载的.ini文件;但是,当服务器启动时,apache模块会将它们加载到内存中。您可以通过更改任何.ini文件中的值并运行CLI二进制文件来测试此行为。请注意,您需要重新启动服务器才能看到服务器模块版本中的更改。
谢谢 - 这是有道理的。我认为它会在每个HTTP请求上加载这些conf文件。没有意识到它在Apache启动时加载它们。 – 2009-07-08 15:29:34