纯转载做做笔记。
五一期间,把 VPS 上的 PHP 加速组件换成了 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 的。
如果有安装 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 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,打开浏览器访问网站,验证是否一切正常即可。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。