是.
想象一下:
script_a.PHP
@H_403_13@<?PHP $foo = 'bar'; $bar = 'foo'; ?>script_b.PHP
@H_403_13@<?PHP require_once 'script_a.PHP'; echo $foo . ' ' . $bar; ?>在运行时,script_b.PHP实际上将包含:
@H_403_13@<?PHP $foo = 'bar'; $bar = 'foo'; echo $foo . ' ' . $bar; ?>因此,每次处理新请求时,它都会读取脚本(或脚本).这就是为什么中高负载的服务器使用像APC或eAccelerator这样的操作码缓存.
这些操作是将整个脚本(需要/包括已处理)缓存在内存中,因此不必将其处理为下一个请求的字节码,而只需执行即可.这可以转化为显着的性能提升,因为没有磁盘I / O并且Zend引擎不必再将脚本转换为字节码.
编辑:
不,至少不是PHP处理包含/要求的方式.
希望这可以帮助.