开启opcache php拓展 提升WordPress运行速度

opcache 是 PHP 官方推出的一个拓展。其原理是将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能。好处就是省去了每次加载和解析 PHP 脚本的时间。从而实现网站程序的加速。

需要注意的是,5.5以下的PHP 版本是没有绑定这个拓展的。同时如果你的网站服务器使用的是空间(比如阿里的云虚拟主机)那么可能也无法使用这个拓展。具体请各位自己咨询自己的服务器商。

下面就用宝塔环境给大家做演示。

宝塔:

查看网站的 PHP 版本:宝塔后台 > 网站 > 选择对应网站 > 设置 > PHP 版本

找到对应版本的PHP控制面板:宝塔后台 > 软件商店 > 搜索 “php” > 找到对应版本PHP > 设置

推荐:将对应版本的PHP面板加入到宝塔首页。方便后续管理。

开启 opcache 拓展:安装拓展 > opcache > 安装

重新加载PHP配置:服务 > 重载配置

以上,你已经成功启用了 opcache拓展。

WordPress加速不仅仅在PHP层面上。你还可以通过整合前端的 js 与 css脚本:

[b2_insert_post id=”614″]

同时还可以对图片进行压缩:

[b2_insert_post id=”630″]

来实现速度的提升。

补充:Linux 环境 配置 opcache

在Linux操作界面中逐条执行如下代码,安装 opcache:

wget http://pecl.php.net/get/zendopcache-7.0.3.tgz
tar zxvf zendopcache-7.0.3.tgz
cd zendopcache-7.0.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

配置 php.ini 文件

[Zend Opcache]
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so
opcache.enable=1 ;启用操作码缓存
opcache.enable_cli=1 ;仅针对CLI环境启用操作码缓存
opcache.memory_consumption=128 ;共享内存大小,单位MB
opcache.interned_strings_buffer=8 ;存储临时字符串的内存大小,单位MB
opcache.max_accelerated_files=4000 ;哈希表中可存储的脚本文件数量上限
;opcache.max_wasted_percentage=5 ;浪费内存的上限,以百分比计
;opcache.use_cwd=1;附加改脚本的工作目录,避免同名脚本冲突
opcache.validate_timestamps=1 ;每隔revalidate_freq 设定的秒数 检查脚本是否更新
opcache.revalidate_freq=60 ;
;opcache.revalidate_path=0 ;如果禁用此选项,在同一个 include_path 已存在的缓存文件会被重用
;opcache.save_comments=1 ;禁用后将也不会加载注释内容
opcache.fast_shutdown=1 ;一次释放全部请求变量的内存
opcache.enable_file_override=0 ; 如果启用,则在调用函数file_exists(), is_file() 以及 is_readable() 的时候, 都会检查操作码缓存
;opcache.optimization_level=0xffffffff ;控制优化级别的二进制位掩码。
;opcache.inherited_hack=1 ;PHP 5.3之前做的优化
;opcache.dups_fix=0 ;仅作为针对 “不可重定义类”错误的一种解决方案。
;opcache.blacklist_filename="" ;黑名单文件为文本文件,包含了不进行预编译优化的文件名
;opcache.max_file_size=0 ;以字节为单位的缓存的文件大小上限
;opcache.consistency_checks=0 ;如果是非 0 值,OPcache 将会每隔 N 次请求检查缓存校验和
opcache.force_restart_timeout=180 ; 如果缓存处于非激活状态,等待多少秒之后计划重启。
;opcache.error_log="" ;OPcache模块的错误日志文件
;opcache.log_verbosity_level=1 ;OPcache模块的日志级别。致命(0)错误(1) 警告(2)信息(3)调试(4)
;opcache.preferred_memory_model="" ;OPcache 首选的内存模块。可选值包括: mmap,shm, posix 以及 win32。
;opcache.protect_memory=0 ;保护共享内存,以避免执行脚本时发生非预期的写入。 仅用于内部调试。
;opcache.mmap_base=null ;在Windows 平台上共享内存段的基地址

注意:只需要将以上内容复制粘贴至 php.ini文件中保存即可。