1. 薛定谔的 PHP
当你使用一台 Linux 设备时,你永远不知道你的设备上被安装了多少个 PHP 的版本,也不会知道当前的 PHP 设置是什么,关于 PHP 的多版本管理与信息查看可以查看 这篇文章的末尾。只有你搞明白了 PHP 的版本如何管理你才能顺滑的安装 PHP 的各种插件。
踩坑预警: 如果你的插件没有生效,请依次检查
- 在
php.ini
中是否启用该插件; - 当前环境(命令行 or Apache)下的
php.ini
目录; - 扩展的路径(extension_dir);
php7.x-dev
安装的版本是否是当前环境的版本;- 重新审视所有的操作与你自己的人生。
以下所有流程都建立于 当前环境下仅安装了一个 PHP 版本,并且假定 PHP 版本为 7.3 ,以安装一个 phpredis
插件为示例演示。
2. 下载 phpredis 源码
打开 phpredis
的版本发布地址,获取最新版本的 tar.gz
格式的下载链接:
1 | https://github.com/phpredis/phpredis/archive/5.1.1.tar.gz |
移动到一个你能找到的目录下,如 /usr/src
,运行:
1 | $ wget https://github.com/phpredis/phpredis/archive/5.1.1.tar.gz |
之后解压源码文件,并进入该目录:
1 | $ tar xvzf phpredis-xxx.tar.gz |
3. 安装 phpredis
下载下来的源码还未经过编译,官方文档提供了简单的三步走策略:
1 | $ phpize |
我们一步步看,如果运行 phpize
错误,我们就需要安装当前 php 的 dev 版本才能获取到编译工具,安装的版本必须为当前PHP环境的版本,以 php7.3 为例:
1 | $ apt-get install php7.3-dev |
之后再运行:
1 | $ phpize |
等待完成后,需要再执行 ./configure
,这条指令后面可以加一个参数 --with-php-config
,代表当前的 php 环境参数,你可以通过该参数向多个 php 版本中安装插件,如果你的设备上只有一个,你可以加载该参数也可以不加载该参数:
1 | $ ./configure --with-php-config=/usr/bin/php-config |
接下来就可以直接执行编译与安装:
1 | $ make && make install |
4. 启用插件
打开 php.ini
文件(以 Apache 环境下的 PHP 配置为例):
1 | $ vim /etc/php/7.3/apache/php.ini |
向配置文件中添加该扩展的信息:
1 | ; php.ini |
重启 Apache 服务器:
1 | apachectl restart |
之后使用 phpinfo()
方法即可查看当前 php 的环境,如果可以搜索到 redis
,那么就说明安装完成。
如果启用无效,请回头看标题1。