PHP5.4 + Zend Opcache 加速 wordpress 小结

纯转载做做笔记。

五一期间,把 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.blacklistopcache.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,打开浏览器访问网站,验证是否一切正常即可。

原文链接:https://cloud.tencent.com/developer/article/1049821

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java3y

Druid数据库连接池就是这么简单

前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用...

561110
来自专栏xingoo, 一个梦想做发明家的程序员

Oozie分布式任务的工作流——邮件篇

在大数据的当下,各种spark和hadoop的框架层出不穷。各种高端的计算框架,分布式任务如乱花般迷眼。你是否有这种困惑!——有了许多的分布式任务,但是每天需...

40970
来自专栏JadePeng的技术博客

jenkins X实践系列(2) —— 基于jx的DevOps实践

jx是云原生CICD,devops的一个最佳实践之一,目前在快速的发展成熟中。最近调研了JX,这里为第2篇,使用已经安装好的jx来实践CICD,旨在让大家了解基...

72320
来自专栏cloudskyme

虚拟化平台cloudstack(8)——从UI开始

UI ucloudstack采用的是前后端分离的架构,就是说前端可以选择使用web、swing甚至其它的界面,都可以。 我们来看cloudstack的UI信息吧...

40460
来自专栏黄希彤的专栏

用 yum 把服务器的 php 升级到 7

有个 discuz 论坛一直用的是 php5.3.3,php7 出来以后看到大片大片的好评,性能大幅度的提升,心里就种草了。正好 discuz 官方最近也从3....

1.1K10
来自专栏恰童鞋骚年

.NET Core微服务之基于Steeltoe使用Eureka实现服务注册与发现

  Steeltoe的官方地址:http://steeltoe.io/,其官方介绍如下:

33750
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式服务跟踪(入门)

通过之前的N篇博文介绍,实际上我们已经能够通过使用它们搭建起一个基础的微服务架构系统来实现我们的业务需求了。但是,随着业务的发展,我们的系统规模也会变得越来越大...

30640
来自专栏python全栈布道师

python项目简单实现自定义配置覆盖默认配置

49190
来自专栏用户2442861的专栏

Thrift交流(一)简单的Thrift

http://blog.csdn.net/arjick/article/details/13293073

11610
来自专栏Kevin-ZhangCG

SpringMVC学习笔记之一(SpringMVC架构及与Mybatis整合)

14140

扫码关注云+社区

领取腾讯云代金券