zl程序教程

您现在的位置是:首页 >  其他

当前栏目

centos安装php5和php7,并在apache里同时使用

2023-03-31 10:32:04 时间

一、最好用nginx去同时使用多版本php共存,实在不行再用apache去同时使用多版本的php。

二、yum安装php时,缺失libphp7.so问题。

首先,你需要安装remi和EPEL仓库,使用下面的命令安装:

安装EPEL:

yum install epel-release

安装remi:

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

## 安装PHP 7.3

yum --enablerepo=remi-php73 install php

### 安装PHP 7.3模块,可以生成libphp7.so

yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

三、不要在apache同时引入libphp5.so和libphp7,会报错。

安装mod_proxy_fcgi模块。

yum install -y mod_proxy_fcgi

在http.conf里引入

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so(安装mod_proxy_fcgi时会在/etc/httpd/conf.d/里生成mod_proxy_fcgi.conf文件自动引入)

四、设置php5和php7共存。

找到php7的www.conf所在目录,我的在/etc/opt/remi/php73/php-fpm.d/。修改进程名称[www]为[php73-fpm],将默认监听的9000端口改为9010,listen = 127.0.0.1:9010。

然后在/etc/httpd/conf.d/下,创建***.conf文件,在里面配置需要另外处理用到php73版本的项目。重启httpd。

<VirtualHost *:80>

DocumentRoot "/var/www/html/test_data"

ServerName apitest.****.cn

ErrorLog "logs/apitest-error.log"

CustomLog "logs/apitest-access.log" common

ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9010/var/www/html/test_data/$1

<Directory "/var/www/html/test_data">

Options Indexes FollowSymLinks ExecCGI

Order allow,deny

Allow from all

AllowOverride All

</Directory>

</VirtualHost>