老服务器已经有几个项目在运行,PHP的环境配置是:php
系统:CentOS 6.5 64位html
nginx:1.0.15mysql
php:5.3nginx
如今要上新项目,又不能影响旧项目的运行,新项目使用PHP7开发,所以要在系统中安装php7,使系统同时支持php5.3和php7。web
1.下载php7:sql
wget http://cn2.php.net/distributions/php-7.0.4.tar.gz
2.解压api
tar -zxvf php-7.0.4.tat.gz
3.进入解压后的目录服务器
cd php-7.0.4
4.安装依赖包php7
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
5.编译安装到/usr/local/php7目录下curl
./configure --prefix=/usr/local/php7 \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-iconv-dir \ --with-kerberos \ --with-libdir=lib64 \ --with-libxml-dir \ --with-mysqli \ --with-openssl \ --with-pcre-regex \ --with-pdo-mysql \ --with-pdo-sqlite \ --with-pear \ --with-png-dir \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --enable-fpm \ --enable-bcmath \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-mbregex \ --enable-mbstring \ --enable-opcache \ --enable-pcntl \ --enable-shmop \ --enable-soap \ --enable-sockets \ --enable-sysvsem \ --enable-xml \ --enable-zip
6.若是有configure error信息则根据error分别安装依赖包,若是没有error信息,就能够执行下边的安装了:
make && make install
7.配置php-fpm,分别复制和配置如下
cp php.ini-development /usr/local/php7/lib/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /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 -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm7
8.建立软链接,这样之后php-v 显示的是原来的PHP,php7 -v显示的是php7的相关信息
ln -s /usr/local/php7/bin/php /usr/bin/php7
9.配置www.conf,打开在/usr/local/php7/etc/php-fpm.d/www.conf,修改大约36行的listen = 127.0.0.1:9001
10.启动php7
/etc/init.d/php-fpm7
11.查看是否启动成功
ps -aux|grep php
12.修改nginx的配置文件(有的每一个项目有一个配置文件),如存放在nginx/conf.d/aaa.conf, nginx/conf.d/bbb.conf,通常修改fastcgi_pass
#默认使用原来的php运行 server { listen 80; server_name *.test.com; location / { root /usr/nginx/html/my_project; index index.php index.html index.htm; } location ~ \.php$ { root /usr/nginx/html/my_project; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } #project2使用php7运行 server { listen 80; server_name project2.test.com; location / { root /usr/nginx/html/project2; index index.php index.html index.htm; } location ~ \.php$ { root /usr/nginx/html/project2; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
13.重启web服务
service nginx restart
phpinfo
1.下载路径,有的教程是键入这个:wget http://cn2.php.net/get/php-7.0.4.tar.gz/from/this/mirror
可是我看到下载了mirror,下一步解压php-7.0.4.tar.gz的话提示无此文件,因此直接使用wget http://cn2.php.net/distributions/php-7.0.4.tar.gz
2.先安装软件开发依赖包再编译安装,不然可能报错
3.编译命令./configure这一大段直接复制粘贴到命令窗口就行,注意格式,若是粘贴过去不行,先放到一TXT文件再复制粘贴,编译命令解释
configure --prefix=/指定安装路径
不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。
指定prefix,直接删掉一个文件夹就够了
--prefix指的是安装路径,--with指的是安装本文件所依赖的库文件。
4.注意/etc/init.d/php-fpm7 的文件权限,可能要修改chmod +x /etc/init.d/php-fpm7