homestead安装php redis扩展 教程(转载大神的,添加了cli下扩展配置)

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

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

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

vagrant ssh
  • 1

2.下载编译php的redis扩展

$ git clone https://github.com/phpredis/phpredis.git
$ cd phpredis                   
$ /usr/bin/phpize7.1  (不同php版本的情况下phpize版本不同)
$ ./configure --with-php-config=/usr/bin/php-config7.1 (这里边也需要根据情况指定php-config的版本,且和phpize的版本保持一致。)
$ make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
* 编译完成后,redis的php扩展在module目录中,它的文件名是redis.so*

3.查看php的extension_dir

php -i|grep extension_dir
  • 1
* 在小黑窗中可能会见到如下字段*(确保PHP cli下的版本与当前扩展版本一直,否则扩展目录会出现错误
php -v  查看,不正确的话看我上一篇文章,切换php cli下的版本 传送门  切换好cli下的版本继续
extension_dir => /usr/lib/php/20160303 => /usr/lib/php/20160303
  • 1
* 这说明php的扩展目录是/usr/lib/php/20160303*
* 或者你用phpinfo()输出一个页面,在里面找extension_dir也可以找到*

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

sudo mv ./module/redis.so /usr/lib/php/20160303
  • 1
* 注意,前提要求当前工作目录是在刚才编译的phpredis目录中*

5.添加php配置文件的ini文件

* 创建一个文件*(当前配置是针对web模式下扩展的配置,phpinfo()可查看)
sudo touch /etc/php/7.1/fpm/conf.d/20-redis.ini
  • 1
* 使用vi编辑器写入如下内容:*
extension=redis.so
  • 1
* 记得使用vi编辑器时使用:wq命令保存*

对php-cli模式下模块配置同理,只不过路径需要变更下或者直接将20-redis.ini文件复制到/etc/php/7.1/cli/conf.d/

20-redis.ini

6.万事大吉,重启php-fpm

* 命令:*
/etc/phpredis$ sudo service php7.1-fpm restart
  • 1
* 再次在网页中使用phpinfo()时就会发现,redis扩展出现了,new Redis()可用了。*

* php-cli模式下直接输入命令查看,php -m | grep redis  正确安装如下图*


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

你可能感兴趣的:(Linux,PHP)