黄金龙的博客

Linux安装php拓展教程,以安装php redis为例,适用于所有场景

本文以本地虚拟环境homestead为例,通过安装redis扩展来安装其他的扩展,安装流程基本雷同。

本地虚拟环境homestead中php环境没有redis扩展的窘境,网上的教程也不通用,因为那些教程都只是针对单一机器单一版本php环境下的安装方法,而homestead安装了多个php版本(针对多个php版本安装,单一php版本安装更简单),安装方式略有不同,怎么办?往下看:

注意:命令权限不够时请自动在命令前加上sudo前缀提权;教程还要求你会使用vi编辑器简单地写入文件内容(当然你有其它方法创建文件内容也可以)。

使用vagrant命令的ssh选项连接到homestead

vagrant ssh

下载编译php的redis扩展

$ git clone https://github.com/phpredis/phpredis.git
$ cd phpredis
$ /usr/bin/phpize7.1(不同php版本的情况下phpize版本不同,如果是单一版本,那么只有一个phpize
$ ./configure --with-php-config=/usr/bin/php-config7.1(这里边也需要根据情况指定php-config的版本,且和phpize的版本保持一致。如果只有一个版本,那么只有一个php-config)
$ make && make install

编译完成后,redis的php扩展在module目录中,它的文件名是redis.so

查看php的extension_dir

php -i|grep extension_dir

在小黑窗中可能会见到如下字段

extension_dir => /usr/lib/php/20160303 => /usr/lib/php/20160303

这说明php的扩展目录是/usr/lib/php/20160303

或者你用phpinfo()输出一个页面,在里面找extension_dir也可以找到

把redis.so扩展模块移入php扩展目录中

sudo mv ./module/redis.so /usr/lib/php/20160303

注意,前提要求当前工作目录是在刚才编译的phpredis目录中

添加php配置文件的ini文件

创建一个文件

sudo touch /etc/php/7.1/fpm/conf.d/20-redis.ini
使用vi编辑器写入如下内容:

extension=redis.so

记得使用vi编辑器时使用:wq命令保存

万事大吉,重启php-fpm

命令:

/etc/phpredis$ sudo service php7.1-fpm restart

再次在网页中使用phpinfo()时就会发现,redis扩展出现了,new Redis()可用了。

同理,什么mongodb的扩展啊什么的,也都能够通过类似的方法完成安装