PHP内部操作码缓存

时间:2019-08-05 10:09:58

标签: php caching

由于我是PHP新手,所以我对内部存在一些疑问,无法在Internet上准确找到它。

我已阅读声明

  

PHP每次在计算机中运行时都会重新编译您的程序   可读的语言,称为操作码。一个操作码缓存存储   编译在内存中,并在第二秒钟被调用时重新执行   时间。

所以我的脑海中出现了一个问题-

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

  2. PHP 默认使用 OPCODE缓存,还是我们必须通过安装任何外部库来启用它?

2 个答案:

答案 0 :(得分:1)

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统计信息,缓存的文件,内存消耗等。

答案 1 :(得分:0)

据我所知,默认情况下不启用缓存。您可以从script. var content = !{content}; 启用它。您不需要安装其他任何东西,它是PHP> = 5.5.0中预先构建的。

对于检查,简单的php.ini应该可以解决问题。

我希望这会有所帮助。如果有任何不清楚的地方,请告诉我。