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