前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos安装php5和php7,并在apache里同时使用

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

原创
作者头像
conanma
发布2021-12-02 15:56:58
1.2K0
发布2021-12-02 15:56:58
举报
文章被收录于专栏:正则正则

一、最好用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>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档