五一期间,把 VPS 上的 PHP 加速组件换成了 Zend Opcache,打开页面的速度有了非常明显可以直接感受到的提升。这里顺便做一下小结,作为备忘。
关于 Zend Opcache
Zend Opcache 原来叫做 Optimizer+ 是一款闭源但是可以免费使用的 PHP 优化加速组件, 后来 Zend 在 PHP Licence 下将其开源并改名为 Zend Opcache。
之所以要切换到 Zend Opcache,是因为各种评测结果都显示 Zend Opcache 性能优于 APC,尤其是对 wordpress 的加速更是经过验证的,而且从 PHP5.5 开始已经绑定了 Zend Opcache.
有关 Zend Opcache 的介绍和优点,网上已经有很多文章,我这里就不再赘述了。不了解的同学可以看一下 这篇文章,也可以 google 一下。
我的服务器环境
我的 Web 服务器环境是: CentOS 6.5 Final x86_64 + Nginx 1.4.4 + Apache 2.2.15 + PHP 5.4.28
之前装有 APC、Zend Guard Loader 和 ionCube Loader.
以上软件都是通过 YUM + remi 源安装的(如今在我所有的 VPS 上都是采用这种方式来安装软件,一般不再编译安装,主要是速度快,便于升级)。
相信很多朋友还用的是 PHP 5.3, 建议升级 PHP5.4 吧,且不说短数组语法、闭包支持已经内置的开发用 Web server,哪怕只是为了 wordpress 运行更快,也值得升级。当然只是建议, PHP5.2, 5.3 都是可以用 Zend Opcache 的。
安装 Zend Opcache
如果有安装 eAccelerato, XCache, APC 等其它的优化加速组件,最好先卸载,就像在电脑上装 XX 电脑管家必须先卸载 OO 安全卫士 或者 JJ 卫士等同类工具一样,都保留的话不但没有意义,而且会冲突。
我这里没卸载,主要是因为 Zend Opcache 没有数据缓存 API,我在没有 Memcached 的时候都会用 APC 来做 Laravel 的缓存驱动。
如果要卸载的话,执行:
yum erase php-pecl-apc
然后安装 PHP Opcache:
yum install php-pecl-zendopcache
安装完成以后,在 /etc/php.d 目录下会自动添加 Zend Opcache 的配置文件 opcache-default.blacklist 和 opcache.ini.
打开 opcache.ini, 根据需要修改一下,下面是我的:
zend_extension=/usr/lib64/php/modules/opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60
正常来说,这样就完成了 Zend Opcache 的安装,通过 php -m
查看模块是否正常加载,然后 httpd -k restart
就可以了。
Zend 扩展的加载顺序
如果有多个 Zend Extension 同时安装和使用,要注意加载顺序。一般来说ionCube Loader要先加载,Zend Guard Loader可以放在最后。我这里的加载顺序是:
0-ioncube_loader.ini opcache.ini zend_guard_loader.ini
输入 php -v
, 看到:
PHP 5.4.28 (cli) (built: May 2 2014 19:09:57) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with the ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd., and with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies
说明已经成功安装和加载。然后 service httpd restart
重启 Apache,打开浏览器访问网站,验证是否一切正常即可。
作者:小李刀刀
原文链接:PHP5.4 + Zend Opcache 加速 wordpress 小结
裁纸刀下版权所有,允许非商业用途转载,转载时请原样转载并标明来源、作者,保留原文链接。
我用官方rpm包,默认opcache.ini是被include进去的,顺序由于zend,发现加载了Zend OPcache 后,Zend Guard Loader就失效了,无法解密,并且500错误