centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展相关的知识,希望对你有一定的参考价值。

centos 安装PHP7并且与其他版本共存

wget -c -Ophp-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/mirror
tar -xvf php-7.1.5.tar.gz
cd php-7.1.5


在安装之前首先要搞定一些依赖,不过有一些依赖我在安装PHP5.6.30的时候都安装过了,还有少数部分依赖没有安装,那么我也给出全新的依赖谁让我们是伸手党,安装过了重新安装也没啥

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

上面的依赖安装好后,那么就是配置一下PHP7 要安装的路径与开启的模块等, 这里要说一下与mysqlq链接的配置,默认的一个配置的路径是 --with-mysql-sock=/tmp/mysql.sock

这是默认路径,在确保mysql启动的状态下看看 这个mysql.sock在不,如果不存在,使用下面命令找一下

find / -name mysql.sock


应该会显示具体的路径,然后把地址替换了上面的配置的地址,如果是阿里云主机有RDS数据库或有专用的数据库服务器,那个参数就可以直接干掉,当然你创建一个软链接也是可以的。

 

./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-sockets --enable-soap --enable-session --with-curl --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx make && make install



安装好后,来设置PHP7的配置文件:php.ini php-fpm.conf和php-fpm启动脚本

cp ./php.ini-production /usr/local/php7/etc/php.ini
cp ./sapi/fpm/php-fpm.conf /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
chmod 755 /etc/init.d/php7-fpm


上面的命令执行后,来修改一下/usr/local/php7/etc/php-fpm.d目录下的www.conf里的 listen = 127.0.0.1:9000为listen = 127.0.0.1:9001

 

如果有老版本的php-fpm使用了9000端口,那么PHP7的fpm端口要修改成9001,具体你自己定

 

把php7-fpm加入开机启动

chkconfig --add php7-fpm
chkconfig php7-fpm on


启动php7-fpm

service php7-fpm start
service php7-fpm stop
service php7-fpm restart
service php7-fpm reload


start,启动PHP的FastCGI进程

stop,强制终止PHP的FastCGI进程

quit,平滑终止PHP的FastCGI进程

restart, 重启PHP的FastCGI进程

reload, 重新加载PHP的php.ini

logrotate, 重新启用log文件

 

 

PHP7-fpm重动完成后,来配置一个nginx可以使用PHP7

fastcgi_pass  127.0.0.1:9001;




PHP7安装redis


phpredis在php7、php5下都有不同的版本,装岔了可能会编译报错,所以在安装之前请先看下自己的PHP是啥版本。

我的Redis装的是redis3.2.3版本。

用phpinfo()查看安装的php信息。

确认是php7后开始安装。

下载地址: https://github.com/phpredis/phpredis/archive/php7.zip

复制到/usr/local目录下解压:unzip phpredis-php7.zip

然后进入解压后的文件的目录,开始重新编译phpize:

cd phpredis-php7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/lib/php-config

     注意这个php-config文件有的版本是在/usr/local/php/bin下,装的时候多找找

make && make install

最后在/usr/local/php/lib/php.ini 里面加入:extension=redis.so   php.ini文件也是藏匿在lib、etc、bin这仨之一,装的时候多找找

重启HTTP应用程序如:nginx

这时候再次打开phpinfo()页面,搜索redis看能不能找到


大功告成!



本文出自 “开心编程_永无止境” 博客,请务必保留此出处http://happyliu.blog.51cto.com/501986/1954337

以上是关于centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展的主要内容,如果未能解决你的问题,请参考以下文章

centos6多php共存下编译安装php7.3.0

安装PHP7

安装php7.2并且整合nginx且分开部署

CentOS 7安装Python 2.6(与已有版本共存)

如何在linux下安装多个不同版本的PHP

Centos 7.2下安装php7