一、最好用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>
网友评论