切换到 PHP 7 之后,网站的速度大幅提升,不过通常的扩展可能某一个就还没有支持 PHP7.
Memcached
比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcached 就还没有,不过好在,它已经支持了 PHP 7 ,只是没有源而已,我们手动编译它。
要安装 memcached,需要先安装依赖库 libmemcached
从这里找到最新的 libmemcached 源码包,然后下载。
1 2 3 4 5 6 |
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18/ ./configure make make install |
安装好依赖库之后,我们来安装 memcached :
从 github 克隆 memcached 后,需要手动切换到 php7 分支,不然会提示 fatal error: ext/standard/php_smart_str.h: No such file or directory 错误。
1 2 3 4 5 6 7 |
git clone https://github.com/php-memcached-dev/php-memcached.git cd php-memcached/ git checkout php7 phpize ./configure --disable-memcached-sasl make make install |
Redis
同样的,Redis其实也已经有了 PHP 7 版本,我们从 github 上获取项目克隆,然后手动切换到 php7 分支即可:
1 2 3 4 5 6 7 |
git clone https://github.com/phpredis/phpredis.git cd phpredis/ git checkout php7 phpize ./configure make make install |
启动扩展
光安装了还不够,我们还需要编辑PHP的配置文件来使扩展被加载才行, vi /etc/php/7.0/fpm/php.ini ,在配置文件中添加如下语句:
1 2 |
extension=memcached.so extension=redis.so |
最后使用命令来重启 PHP 服务: service php7.0-fpm restart
WordPress
对于 WordPress 来说,这里我们需要单独下载插件:https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
由于wp官方插件库里的缓存插件只支持 memcache,我们只能自己下载 object-cache.php 文件到博客的 wp-content 目录中了。
如果哪天你不再想用 memcached,就把这个文件删除。
另外,如果你的vps跑着不止一个 WordPress ,那如果你想给它们都开启缓存,你还得编辑 wp-config.php 文件,找到 define('WP_DEBUG', false); 这一行,在它下边起新的一行然后输入如下内容:
1 2 |
define('WP_CACHE_KEY_SALT', md5(DB_NAME . logcg)); //其中 logcg 改为你博客的名字,没有特定要求但必须唯一不能重复。 |
这样,每一个 WordPress 程序才能访问它独自的 memcached 缓存。
另外,如果你使用的是 WP Super Cache 缓存插件,这时候你应该可以去它的高级设置里找到对 memcached 的支持选项了:)
本文由 落格博客 原创撰写:落格博客 » Ubuntu 16.04 为 PHP7 添加 memcached 以及 redis 扩展
转载请保留出处和原文链接:https://www.logcg.com/archives/1747.html