我已经多次注意到一些php脚本退出了.在我看来,这将强制退出httpd/apache子(当然,如果下一个请求需要,将启动另一个).
但是在CMS中,下一个请求将需要整个init.php初始化,当然只是首先清理并启动php.
似乎php文件通常以
if ( !defined( 'SMARTY_DIR' ) ) {
include_once( 'init.php' );
}
Run Code Online (Sandbox Code Playgroud)
这表明有人在想象一个php进程会提供多个请求.但是如果每个脚本都退出,那么每个php/apache进程只会提供一个请求.
有关删除许多退出调用(特别是来自最频繁调用的脚本,如index.php等)的性能和安全影响的任何想法,以允许一个进程提供多个请求?
谢谢,彼得
--ADDENDUM -
谢谢你的答案.那个(php永远不会提供多个请求)是我原来的想法,直到上周,当我调试一个只能在一个脚本中设置的配置变量时(因为路径的设置方式)但仍然设置在另一个脚本中(这是在网络服务器上,大约20次点击/秒).在那种情况下,我没有在一个脚本中设置其配置略有不同的php退出调用.但是,当我加入了PHP退出调用一个脚本(备用目录),这解决了我在主目录中的所有我的主要脚本遇到错误配置(这是由于有一个css目录变量设置错误,在以前的页面执行).所以现在我再次感到困惑,因为到目前为止所有的答案都说,php应该永远不会提供多个请求.
exit
对Apache进程没有任何作用(它肯定不会杀死一个工人!).它只是结束PHP脚本的执行并将执行返回给 Apache进程,Apache进程将结果发送到浏览器并继续下一个请求.
您摘录的Smarty代码与提供多个请求的PHP进程无关.它只是确保Smarty始终初始化 - 如果PHP脚本可以替代地包含在另一个脚本中或直接访问,则非常有用.
归档时间: |
|
查看次数: |
291 次 |
最近记录: |