在本教程中,我们将向大家演示如何在7个Linux系统上同时运行多个PHP版本。
在单个服务器上部署并运行多个PHP版本,这种做法既实用又普遍。
您可能拥有一段PHP代码,并希望用不同的PHP版本进行检验。遇到这种情况,本篇文章将非常适合您阅读。
让我们解释一下如何运行多个版本。
在访问请求.php页面时,系统会参照“/ x-httpd-php”这一路径来确定需要加载哪个模块以处理PHP脚本。至关重要的是,在这一过程中,PHP的执行受到严格的控制。
在我们的方案里,存在一定的差异。具体来说,我们采用了名为php-fpm的独立PHP进程。这个php-fpm是一个被设置为应对FCGI请求的PHP守护进程。
1.安装和仓库
如果您已安装,请跳过yum httpd
# yum install httpd
# yum install epel-release
# yum install yum-utils
2.安装多个PHP版本
使用yum命令安装,地址为http://rpms.remirepo.net/enterprise/remi-release-7.rpm的remi-release-7.rpm软件包。
# yum install php56
# yum install php72
# yum install php56-php-fpm
# yum install php72-php-fpm
确保两个版本均已停止
使用系统管理工具,停止php56版本的FastCGI进程管理器服务。
使用系统管理工具停止php72版本的PHP-FPM服务。
3.配置
要允许运行php-fpms脚本,请运行以下命令:
使用命令 semanage 对端口进行配置,添加类型为 http_port_t 的规则,指定传输控制协议为 TCP,端口号为 9072。
使用命令semantique进行端口管理,添加操作符-a,指定类型为http_port_t,配置协议为tcp,端口号设为9056。
4-配置php-fpm
每个PHP-FPM的版本均设定于9000端口进行监听。鉴于我们需同时使用多个PHP版本,因此必须对预设的端口进行相应的调整。
使用sed命令对/etc/opt/remi/php56/php-fpm.d/www.conf文件进行编辑,将其中冒号后的端口号9000替换为9056。
使用sed命令,对位于/etc/opt/remi/php72/php-fpm.d目录下的www.conf文件进行修改,将文件中的冒号9000替换为冒号9072。
现在运行两个php-fpms:
启动php72版本的php-fpm服务。
启动php56的fpm服务进程。
为了实现这一目标,我们需构建一个脚本包装器,其功能是调用php56-cgi和php72-cgi。
<< EOF
# #!/bin/bash
# exec /bin/php56-cgi
# EOF
# cat > /var/www/cgi-bin/php72.fcgi << EOF
# #!/bin/bash
# exec /bin/php72-cgi
# EOF
设置两个脚本为可执行
使用以下命令,将 `/var/www/cgi-bin/php56.fcgi` 文件的权限设置为755:sudo chmod 755 /var/www/cgi-bin/php56.fcgi。
使用命令sudo对文件路径为/var/www/cgi-bin/php72.fcgi的权限进行修改,将其设置为755。
5.配置
我们设立了两个路径,一条专门针对php-fpm56版本,另一条则针对php-fpm72版本。
使用命令行工具cat,将输入重定向到文件路径为/etc/httpd/conf.d/php.conf的配置文件中。<< EOF
# ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# AddHandler php56-fcgi .php
# Action php56-fcgi /cgi-bin/php56.fcgi
# Action php72-fcgi /cgi-bin/php72.fcgi
#
# DirectoryIndex index.php
# AllowOverride all
# Require all granted
#
#
# DirectoryIndex index.php
# AllowOverride all
# Require all granted
#
# EOF
然后在这两个路径上放置两个php脚本进行测试
创建目录结构,确保路径 /var/www/html/php56 存在。
创建目录结构,指定路径为 /var/www/html,并确保php72版本对应的目录存在。
# echo "请勿对以下路径进行修改:/var/www/html/php56/index.php,以确保系统正常运行。
# echo "禁止对“/var/www/html/php72/index.php”进行修改。
执行命令将文本"AddHandler php72-fcgi .php"写入到路径为"/var/www/html/php72/.htaccess"的文件中。
6.启动服务
现在,我们启用并启动和php-fpm服务:
# systemctl enable httpd
启用php56的php-fpm服务。
启用php72版本的php-fpm服务。
# systemctl start httpd
# systemctl start php56-php-fpm
# systemctl start php72-php-fpm
7.配置防火墙
我们需要打开端口80来访问。因此,请运行以下命令:
执行命令:firewall-cmd,参数为--permanent和--add-service,具体服务为http。
# firewall-cmd --reload
扫一扫在手机端查看
- 上一篇:apache linux 配置 Linux服务器搭建步骤_0 到 1 搭建 Linux 服务器,10 个步骤,轻松搞定线上环境部署!
- 下一篇:Linux基础入门教程_蓝易云 - Linux 基础入门 + Java项目部署
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1