【发布时间】:2009-11-24 21:31:31
【问题描述】:
我多次注意到一些 php 脚本退出的地方。在我看来,这将强制退出 httpd/apache 子节点(当然,如果下一个请求需要,另一个将启动)。
但在 CMS 中,下一个请求将需要整个 init.php 初始化,当然首先需要清理和启动 php。
似乎php文件通常以
开头if ( !defined( 'SMARTY_DIR' ) ) {
include_once( 'init.php' );
}
这表明有人在想象一个 php 进程将服务于多个请求。但是如果每个脚本都退出,那么每个 php/apache 进程将只服务一个请求。
对于移除许多退出调用(尤其是从最常调用的脚本,如 index.php 等)以允许一个进程处理多个请求的性能和安全影响有何想法?
谢谢,彼得
--附录--
感谢您的回答。那个(php 永远不会服务超过一个请求)是我最初的想法,直到上周,当我调试一个只能在一个脚本中设置的配置变量(因为路径的设置方式)但仍然在另一个脚本中设置(这是在一个大约 20 次点击/秒的网络服务器上)。在那种情况下,我在一个脚本中没有一个 php 退出调用,它的配置设置略有不同。但是,当我将 php 退出调用添加到那个脚本(在备用目录中)时,这解决了我在主目录中的所有主脚本中遇到的错误配置(这是由于错误地设置了 css 目录变量,在以前页面执行)。所以现在我再次感到困惑,因为到目前为止所有的答案都说,php 永远不应该服务多个请求。
【问题讨论】:
标签: php performance