加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP是否每次请求都读取所需的脚本?

发布时间:2020-05-25 09:32:28 所属栏目:PHP 来源:互联网
导读:PHP在处理新请求时是否每次都读取所需的脚本? 您能解释一下PHP执行哪些磁盘IO操作来处理单个请求 如果PHP是Apache模块或PHP-fpm,会发生什么变化 是. 想象一下: script_a.php ?php$foo = bar;$bar = foo;? script_b.php ?phprequire_once script_a.php;echo

PHP在处理新请求时是否每次都读取所需的脚本?

您能解释一下PHP执行哪些磁盘IO操作来处理单个请求

如果PHP是Apache模块或PHP-fpm,会发生什么变化

是.

想象一下:

script_a.php

<?php
$foo = 'bar';
$bar = 'foo';
?>

script_b.php

<?php
require_once 'script_a.php';
echo $foo . ' ' . $bar;
?>

在运行时,script_b.php实际上将包含:

<?php
$foo = 'bar';
$bar = 'foo';
echo $foo . ' ' . $bar;
?>

因此,每次处理新请求时,它都会读取脚本(或脚本).这就是为什么中高负载的服务器使用像APC或eAccelerator这样的操作码缓存.

这些操作是将整个脚本(需要/包括已处理)缓存在内存中,因此不必将其处理为下一个请求的字节码,而只需执行即可.这可以转化为显着的性能提升,因为没有磁盘I / O并且Zend引擎不必再将脚本转换为字节码.

编辑:

Does something change if PHP is an Apache module or PHP-fpm

不,至少不是PHP处理包含/要求的方式.

希望这可以帮助.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读