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看能不能找到
大功告成!