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

wget -c -Ophp-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/mirrortar -xvf php-7.1.5.tar.gzcd 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在不,如果不存在,利用下面命令找一下

php7redisPHP7与其他版本共存安装且为PHP7安装redisevent扩大 PHP

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.inicp ./sapi/fpm/php-fpm.conf /usr/local/php7/etc/php-fpm.confcp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.confcp ./sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpmchmod 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-fpmchkconfig php7-fpm on

启动php7-fpm

service php7-fpm startservice php7-fpm stopservice php7-fpm restartservice php7-fpm reload# 解释start,启动PHP的FastCGI进程stop,逼迫终止PHP的FastCGI进程quit,平滑终止PHP的FastCGI进程restart, 重启PHP的FastCGI进程reload, 重新加载PHP的php.inilogrotate, 重新启用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后开始安装。

下载地址: git clone https://github.com/phpredis/phpredis.git (现已支持PHP7)

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

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

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

make && make install

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

重启HTTP运用程序如:nginx

这时候再次打开phpinfo()页面,搜索redis即能找到redis扩展已安装。

[附加解释:如果是php7.2以上 mcrypt扩展默认被移除,须要自动安装]

如果以上方法弗成,参考下面步骤处理

从 mcrypt库地址 下载适用版本,然后解压

wget http://pecl.php.net/get/mcrypt-1.0.1.tgz tar zxvf mcrypt-1.1.1.tgzcd mcrypt-xxx/usr/local/php7.2.10/bin/phpize #此处的phpize是php7.2以上安装目录地址./configure --with-php-config=/usr/local/php7.2.10/bin/php-configmake && make install

末了配置php的扩展配置,同redis.so配置,添加extension=mcrypt.so到php.ini文件里即可。