• Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程


    因为某种需求,可能是因为早期的项目需要低版本的php,和目前开发所用的版本不太一致,我们需要给不同的虚拟主机配置不同版本的PHP。避免去额外配置多个Apache,等iis和apache共存的麻烦。

    下文引量说明:

    D:/Apache/          Apache安装目录

    D:/php53/            PHP5.3版本目录,以上版本类同

    D:/WEB/*             虚拟主机主目录

    • #准备工作

    测试系统(windows7x64)

    所需文件 apache2.2(x86)、PHP(nts)、fcgid(mod_fcgid-2.3.6-win32-x86)

       1.常规手动部署apache方法(不会apache配置的请先移步看下Apache基本手工配置方法),解压fcgid,取其mod_fcgid.so至modules目录

    httpd.conf 更改(去掉井号)

    LoadModule fcgid_module modules/mod_fcgid.so

    PHP各版本解压到不同目录并配置,任意位置,方便即可。

       2.打开httpd.conf 注释掉以下类似配置

    #LoadModule php5_module "D:/php53/php5apache2_2.dll"
    #PHPIniDir "D:/php53/"

     3.增加配置(尾部或中部即可)

    #加载fcgid扩展模块(额外说明,fcgid根据实际apache版本对应,apache2版本测试2.3.6正常)
    LoadModule fcgid_module modules/mod_fcgid.so
    #添加映射
    AddHandler fcgid-script .fcgi .php
    # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
    #php-cgi每个进程的最大请求数
    FcgidMaxRequestsPerProcess 1000
    #php-cgi最大的进程数
    FcgidMaxProcesses 3
    #最大执行时间
    FcgidIOTimeout 120
    FcgidIdleTimeout 120
    AddType application/x-httpd-php .php
    #------这里是默认虚拟主机配置
    #php.ini的存放目录
    FcgidInitialEnv PHPRC "D:/php5.4.4/"
    #php-cgi的路径
    FcgidWrapper "D:/php5.4.4/php-cgi.exe" .php

    4.修改添加执行权限(如若不然,可能会提示HTTP错误,禁止访问403)

    ExecCGI 为附加值

    <Directory />
        Options FollowSymLinks ExecCGI
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>

    5. 虚拟主机文件配置 (每个虚拟主机独立的配置段中只需要更改其配置版本路径即可,以下配置为PHP5.3.1虚拟主机配置)

    <VirtualHost *:80>
          ServerName "apihost"
          ServerAlias www.apihost.com api.apihost.com
          FcgidInitialEnv PHPRC "D:/php5.3.1/"
          FcgidWrapper "D:/php5.3.1/php-cgi.exe" .php
          DocumentRoot "D:/WEB/apihost/wwwroot/"
          ErrorLog "D:/WEB/apihost/log/error.log"
          CustomLog "D:/WEB/apihost/log/access.log" common
    </VirtualHost>

    重启Apache完工!

    以上内容为小编测试使用记录,网上类似的文章并不多,有其他默认CGI配置方式+htaccess配置过程,经小测试没有成功。

    如果你有更好的方法可以在底部留言哦!

    附件下载:mod_fcgid-2.3.6-win32-x86

    #以下为小编整理的引文,供大家参考使用。

    1.mod_fcgid指令的中文翻译

    http://blog.csdn.net/xuejiazhi/article/details/9022961

    2.mod_fcgid下载地址(vc10以上)

    http://www.apachelounge.com/download/VC10/

    3.apache+php多版本共存解决方案

    http://www.zhixing123.cn/php/19008.html

    4.apache多版本php配置过程

    http://www.cnblogs.com/xiaoyaoxia/archive/2011/09/29/2195434.html

    5.WampServer中Apache使用FastCGI模式跑PHP5.3nts版

    http://my.oschina.net/Twitter/blog/210044

    6.PHP中VC6、VC9、TS、NTS版本的区别与用法详解

    http://www.jb51.net/article/42422.htm

    补充:ISAPI来执行PHP,每一个请求不会立即结束,选择线程安全版

          FastCGI执行PHP,单一的线程运行程序,选择非线程安全版

    转:https://blog.csdn.net/ybhjx/article/details/52205705

  • 相关阅读:
    乐观锁+悲观锁
    python读取大文件处理方式
    ionic集成jPush极光推送
    AngularJs中$http发送post或者get请求,SpringMVC后台接收不到参数值的解决办法
    ionic开发插件之ngCordova配置安装(搬运)
    使用Ionic进行移动端APP开发
    HashMap,LinkedHashMap,TreeMap的区别
    ubuntu下node、npm、bower简易安装
    Mongodb数据更新命令(update、save)
    mongoDb地理空间索引和查询
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9399940.html
Copyright © 2020-2023  润新知