PHP 5.5.5 可以从 OPcache 加载 Phar 文件吗?


Can PHP 5.5.5 load Phar files from OPcache?

正在使用的PHP版本是5.5.5,我知道这个版本的PHP可以将预编译的脚本字节码存储在共享内存中,如下页所述:http://php.net/manual/en/intro.opcache.php

我也知道OPcache可以编译文件,如以下页面所述:http://php.net/manual/en/function.opcache-compile-file.php

如果这适用于 Phar 文件,那就太好了。但是,我无法判断 PHP 是否从共享内存中的字节码加载我的 Phar 文件。我无法使用 opcache_is_script_cached 函数进行测试,因为这在 PHP 5.5.5 中不可用,该函数仅在 PHP 5.6 及更高版本中可用。

有人可以澄清这是否有效,或者至少向我解释我如何找到答案吗?

是的,确实如此。我不会一一赘述,但ext/opcache/ZendAccelerator.c是有逻辑的