linux下同时运行php5与php7

作者:haobinghui 时间:2019-11-11 浏览:341 次

现在已经安装lnmp环境,但是是通过lnmp一键安装包安装的,而且PHP版本是5.x

为了使用PHP7,需要同时在安装PHP7.


先看一下此时启动的PHP服务,只有一个并且是PHP5的

1.png


1.到PHP官网下载

Linux系统可以下载bz2或gz格式:


2.解压压缩文件


3.提前将用到的扩展安装

yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel 
libpng libpng-devel


4.进入到解压后的PHP源码目录,使用configure进行配置

./configure --prefix=/usr/local/php7.1.32 \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm

5.安装

make && make install

可能会出现错误

2.png


make ZEND_EXTRA_LIBS='-liconv'
make install

安装后看/usr/local/php7.x.x/是否生成

3.png

ok,php7.1.32安装成功。




整合nginx+php


6.需要先将配置文件按照规范命名放到规定的目录下


查看PHP的配置文件php.ini的目录是哪里?

./bin/php -i | grep php.ini


php.ini默认是放到 /usr/local/php7.x.x/lib下,这个也可以通过 configure 在开始配置的时候进行设置

cd /usr/local/php7.x.x

cp etc/php-fpm.conf.default etc/php-fpm.conf
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

cp /usr/local/src/php-7.x.x/php.ini-development ./lib/php.ini

7.修改php-fpm端口

vim  etc/php-fpm.d/www.conf

listen = 127.0.0.1:9002


8.启动php7.1.32服务


可能报错如下:

4.png

解决方案1:添加一个组叫nobody

groupadd nobody

解决方案2:修改分组为www即可

user = www
group = www


重启php-fpm服务

8.png


8.修改nginx配置,对应到此php-fpm端口号为9002的服务上

6.png

server {
  listen 8081;
  server_name api.zixun.com;
  root /home/wwwroot/default/zixun/front/src;
  index index.html index.htm index.php;

  location ~ [^/]\.php(/|$)
  {
    try_files $uri =404;
    fastcgi_pass  127.0.0.1:9002;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}

重启nginx

nginx -s reload


测试文件

<?php
echo 'this is for zixun api';
phpinfo();
?>


访问结果:

7.png

至此,nginx+PHP整合完毕!

标签: PHP