php7.2 安装phpredis扩展

##下载及安装
wget https://github.com/edtechd/phpredis/archive/php7.zip //下载php-redis扩展包
yum install -y zip unzip  //安装压缩,解压软件
unzip php7.zip //解压
cd pphpredis-php7   //进入解压后的文件中
/opt/php7.2/bin/phpize  //重新编译 phpize,我的php安装在opt自定义的文件中
./configure --with-php-config=/opt/php7.2/bin/php-config  //配置
make && make install  //编译安装
若有出现如下类似的错误:
libtool: link: `redis_commands.lo' is not a valid libtool object
libtool: link: `redis_commands.lo' is not a valid libtool object
解决方案:
用命令
make clean
然后在重新执行命令
原因是编译的时候有问题重新编译一下文件就解决了

至此安装完成,下面修改php配置文件

编辑php配置文件php.ini,这里根据自己的安装目录来找

vi /opt/php7/etc/php.ini

在这里插入图片描述

启动php-fpm:

/opt/php7.2/sbin/php-fpm

php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

一个简单直接的重启方法:

先查看php-fpm的master进程号

# ps aux|grep php-fpm
root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm
root     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool www
nobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www

重启php-fpm:

kill -USR2 42891

OK了。
上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

上面master进程可以看到,matster使用的是/opt/php7.2/etc/php-fpm.conf这个配置文件,cat /opt/php7.2/etc/php-fpm.conf 发现:

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = /opt/php7.2/var/run/php-fpm.pid

pid文件路径应该位于/opt/php7.2/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

php-fpm 关闭:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重启:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

最后 php -m 查看是否安装完成,如下图

常见问题:
cd /opt/nginx/log
 tail -f pc-admin-fegame.seeyouyima.com_error.log 
 unix:/opt/php7.2/var/run/php-fpm.sock failed (13: Permission denied) 
 解决方案:
chmod 0666 /opt/php7.2/var/run/php-fpm.sock

用 phpinfo(); 查看信息:
在这里插入图片描述
跟安装的目前不一样

/opt/php7.2/lib/php/extensions/no-debug-non-zts-20170718

更改 /opt/php7.2/etc/php.ini
在这里插入图片描述
重新启动php-fpm

nginx.log若存在一下错误,重新安装php redis 扩展

 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server:
 

原因参考 : https://blog.csdn.net/tengzhaorong/article/details/12704759

猜你喜欢

转载自blog.csdn.net/qq_26249609/article/details/84560120