PHP 内部操作码缓存

因为我是 PHP 新手,所以我有一些关于内部的问题,我无法在互联网上准确找到。

我已经阅读了一份声明

每次运行时,PHP 都会重新编译您的程序,使其成为一种机器可读的语言,称为操作码。操作码缓存将编译存储在内存中,并在第二次调用时重新执行它。

所以我的脑海里出现了一些问题——

  1. 我在某处读到 PHP 缓存了OPCODE,因此无需重新编译。我如何知道我的服务器上是否启用了任何 opcaode 缓存技术?我在本地机器窗口上使用 Xampp 和默认配置。

  2. PHP使用指令缓存默认情况下,或者我们通过安装任何外部库启用它?


饮歌长啸
浏览 138回答 2
2回答

慕容森

OPcache通过将预编译的脚本字节码存储在共享内存中来提高PHP 性能,从而消除了 PHP 在每个请求上加载和解析脚本的需要。如果Zend OPcache扩展没有加载,phpinfo()不会显示OPcache 的任何状态。要检查Zend OPcache是否已加载,您可以使用print_r(get_loaded_extensions());如果Zend OPcache未在数组中列出,您可以在php.ini文件中配置它只需在php.ini 中添加[opcache]zend_extension ="D:\xampp\php\ext\php_opcache.dll" opcache.enable=1opcache的其他配置在这里https://www.php.net/manual/en/opcache.configuration.php另请注意,您只能通过php.ini配置 opcache.enable=1 。如果你使用ini_set()它会产生错误。重新启动您的xampp php服务,现在您可以使用phpinfo()查看所有配置最后你可以使用print_r(opcache_get_status());opcache_get_status()将显示您所有的 opcache 统计信息、缓存文件、内存消耗等。

小怪兽爱吃肉

据我所知,默认情况下不启用 opcaching。您可以从php.ini. 您不需要安装任何其他东西,它是在 PHP >=5.5.0 中预先构建的。至于检查,简单的opcache_get_status()应该可以解决问题。我希望这有帮助。如果有什么不清楚的,请告诉我。
打开App,查看更多内容
随时随地看视频慕课网APP