实践背景:由于现在手上有很多php5和php7的混合开发项目。而服务器上只有一个ip,项目规定在上架后不得使用80外的其他端口。
提出解决方案:
1.Fcgi方式(本文用此种方式)2.反向代理方案(为了减少内存消耗又没有多余的服务器就舍弃此方案)
(一)准备工具
1.php 5
2.php 7
3.Apache2.4
(二)下载地址
(三)开始部署Apache
- 安装先安装apache环境
- 修改apache的配置文件httpd.conf文件的几项内容
#引入模块
LoadModule fcgid_module modules/mod_fcgid.so/
#取消注释并修改成你的apache的cgi目录
ScriptAlias /cgi-bin/ "D:/SetSoft/wamp7/Apache2/cgi-bin/"
#取消注释并修改
<Directory "D:/SetSoft/wamp7/Apache2/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
3.修改vhost文件
<VirtualHost *:80>
DocumentRoot "E:/WEB/5.jx.asnlife.cn"
ServerName 5.jx.asnlife.cn:80
ServerAlias 5.jx.asnlife.cn
#添加映射
AddHandler fcgid-script .php
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
FcgidInitialEnv PHPRC "D:/SetSoft/WAMP/PHP5"
FcgidWrapper "D:/SetSoft/WAMP/PHP5/php-cgi.exe" .php
ServerAdmin webmaster@5.jx.asnlife.cn
DirectoryIndex index.html index.htm index.php default.php
ErrorLog logs/5.jx.asnlife.cn-error.log
CustomLog logs/5.jx.asnlife.cn-access_%Y%m%d.log comonvhost
<Directory "E:/WEB/5.jx.asnlife.cn">
Options FollowSymLinks ExecCGI
AllowOverride All
Require all granted
</Directory>
<LocationMatch "/(inc)/(.*)$">
Require all denied
</LocationMatch>
<LocationMatch"/(attachment|attachments|uploadfiles|avatar)/(.*).(php|php5|phps|asp|asp.net|jsp)$">
Require all denied
</LocationMatch>
</VirtualHost>
4.重启apache既可以访问到相关的页面
(注意)
1.如果红色区域不添加或者注释的话 则会以handler方式运行,此时请将黄色区域的ExecCGI取消否则无法运行。
2.如果将红色区域配置在httpd.conf中,会产生运行的时候无法同时做到几个php的共存。
3.当前服务器已经将apache+php7的基础环境配置完毕,在无cgi方式的时候是可以运行php文本的。
转载于:https://my.oschina.net/u/574397/blog/915279
分享到:
相关推荐
在配置过程中,需要详细调整配置文件中的参数,来适应多版本PHP共存的需求。同时,根据PHP的安装方式(比如yum安装),可能需要对配置文件进行额外的修改。通过合理的配置,可以保证Apache服务器能够根据不同的站点...
切换任意php版本,然后打开Apache2.4站点管理 采用多功能集成环境在windows服务器上搭建PHP网站案例 添加站点后,我们开始一键生成对应hosts 采用多功能集成环境在windows服务器上搭建PHP网站案例 点击这个按钮...
`mod_aspdotnet`模块的另一个优势是它可以与Apache上的其他模块(如PHP)共存。这使得在同一台服务器上部署混合使用ASP.NET和PHP应用成为可能,提高了灵活性和资源利用率。 **性能与安全考虑** 虽然`mod_aspdotnet...
启动后,首先会看到Apache2.4站点管理界面,在这里可以创建新站点,选择PHP版本,以及进行站点的添加与配置。PHPWAMP自带的可选PHP版本包括php5.2、php5.3、php5.4、php5.5、php5.6、php7等,如果这些版本不能满足...