通过启用OPCache提高PHP程序性能的方法
解释
对于PHP 5.5或更高版本,可以使用PHP自带的opcache打开性能加速(默认关闭)。对于低于5.5的PHP版本,需要使用APC加速,这里不做解释。可以在网上搜索PHP APC加速的方法。
Opcache是Zend Optimizer编译到php环境中的名字,意思是优化缓存。Zend OPcache通过将PHP脚本的预编译字节码存储在共享内存中,提高了PHP的性能。存储预编译的字节码的好处是节省了每次加载和解析PHP脚本的开销。
这个PHP加速插件的主要原理是将PHP执行后的数据缓冲到内存中,避免重复编译过程。它可以直接使用缓冲区中的编译代码,从而提高速度,降低服务器负载。他们的效率显而易见。
Opcache已经在php 5.5及更高版本中构建了这个模块,所以在编译安装php时使用- enable-Opcache可以在以后的开发工作中正常使用OpCache。
(1)在命令行上,通过以下命令检查OPcache是否已安装:
如果php -m | grep 'OPcache '有结果,说明已经安装。
(2)安装OPCache模块
如果php环境中没有安装此模块,您也可以通过以下方式安装:
依次执行以下命令
wget http://pecl.php.net/get/zendopcache-7.0.2.tgztar xzf zendopcache-7 . 0 . 2 . tgzcd zendopcache-7 . 0 . 2 phpize(如果不知道phpize在哪里,可以用find命令找到。还可以找到PHP路径,通常是放在一起的。我的是at/alidata/server/PHP/bin/phpize,下面这一行应该根据你的php.ini路径进行修改。)。/config-with-PHP-config=/usr/local/PHP/bin/PHP-config make make install如果显示安装共享扩展3360/alidata/server/PHP/lib/PHP/extensions/no-debug-zts-20100525/则说明安装成功。
(3)打开OPCache模块支持
找到php.ini文件,并在文件末尾添加以下代码(如果标签[opcache]已经存在,只需在此标签下添加或修改即可):
[op cache];一个dll地址Zend _ extension=PHP _ op cache . dll;打开开关op cache . enable=1;open cliopcache . enable _ CLI=1;mbopcache.memory _ consumption=128中的可用内存(视情况而定);Zend Optimizer暂存池中字符串占用的总内存。(单位: MB) OPCache。interned _ STRINGS _ Buffer=8;对于多缓存文件的限制,如果命中率低于100%,尽量增加这个值opcache。max _ accelerated _ files=10000Opcache会在一定时间内检查文件的修改时间。这里,设置检查的时间段,默认为2,并将其设置为第二个opcache。renew _ freq=1;打开快速关机,这将提高PHP请求关机时回收内存的速度。fast _ down=1;不保存文件/函数opcache.save_comments=0的注释添加后重启apache或nginx服务器,打开phpinfo页面查看是否生效。如果您看到以下信息,则表示它已成功配置。
(4)功能测试及注意事项
在phpinfo()信息中,有两条信息目前仍然很重要。
缓存命中(缓存未命中)您可以通过这两条信息观察缓存操作。
让我们做一个测试来验证什么是opcache,并创建一个包含以下代码的新文件:
echo ' hello opcache这是一个非常简单的php代码,请将它保存为demo.php文件,然后访问它,随意刷新它,缓存命中值会不断增加,表明它工作正常。
然后将代码修改为:
echo ' hello codetc.com再次刷新demo.php,你应该会看到效果。打印的值仍然是hello opcache,也就是说,源代码被缓存,它不再解析demo.php文件。
多少秒后结果会变成你好phpernote.com?在这里,您可以设置:
Opcache。force _ restart _ timeout=180,其中单位为秒,即180秒后重新编译一次php源代码。
这类似于在web项目中缓存静态文件。比如打开我们加载的一个网页,浏览器会自动为我们缓存jpg和css,但是php不缓存,这就需要每次打开文件、解析代码、执行代码的过程。opcache可以解决这个问题,代码将被缓存以提高访问速度。
因此,更改PHP文件代码后,无法立即看到效果,这取决于opcache.revalidate_freq的更新周期,因此,建议在项目更新执行自动化脚本中使用opcache_reset()函数自动重置opcache。OPcache总共提供以下功能:
OPC ache _ compile _ file—编译并缓存PHP脚本,无需运行。OPC cache _ get _ configuration—获取缓存的配置信息OPC cache _ get _ status—获取缓存的状态信息OPC cache _ invalidate—废除脚本缓存OPC cache _ reset—重置字节码缓存的内容摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接
版权声明:通过启用OPCache提高PHP程序性能的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。