Apache2.4多php共存

实践背景:由于现在手上有很多php5和php7的混合开发项目。而服务器上只有一个ip,项目规定在上架后不得使用80外的其他端口。

提出解决方案:

1.Fcgi方式(本文用此种方式)2.反向代理方案(为了减少内存消耗又没有多余的服务器就舍弃此方案)

(一)准备工具

1.php 5

2.php 7

3.Apache2.4

(二)下载地址

(三)开始部署Apache

  1. 安装先安装apache环境
  2. 修改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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值