为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 内部操作码缓存

PHP 内部操作码缓存

PHP
饮歌长啸 2021-11-13 16:59:54
因为我是 PHP 新手,所以我有一些关于内部的问题,我无法在互联网上准确找到。我已经阅读了一份声明每次运行时,PHP 都会重新编译您的程序,使其成为一种机器可读的语言,称为操作码。操作码缓存将编译存储在内存中,并在第二次调用时重新执行它。所以我的脑海里出现了一些问题——我在某处读到 PHP 缓存了OPCODE,因此无需重新编译。我如何知道我的服务器上是否启用了任何 opcaode 缓存技术?我在本地机器窗口上使用 Xampp 和默认配置。不PHP使用指令缓存默认情况下,或者我们通过安装任何外部库启用它?
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

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=1

opcache的其他配置在这里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 统计信息、缓存文件、内存消耗等。


查看完整回答
反对 回复 2021-11-13
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

据我所知,默认情况下不启用 opcaching。您可以从php.ini. 您不需要安装任何其他东西,它是在 PHP >=5.5.0 中预先构建的。

至于检查,简单的opcache_get_status()应该可以解决问题。

我希望这有帮助。如果有什么不清楚的,请告诉我。


查看完整回答
反对 回复 2021-11-13
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信