配置不同站点不同版本PHP

Posted 雪剑无影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置不同站点不同版本PHP相关的知识,希望对你有一定的参考价值。

Apache 配置

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

 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
#限制最大请求字节 (单位b)
FcgidMaxRequestLen 2097152

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

ExecCGI 为附加值

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

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

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>

 

Nginx 配置

安装不同的 php 版本,在 php 安装路径找到 php-fpm.conf 文件修改不同的监听端口,如下

listen = 127.0.0.1:9000 

需要使用哪个版本,在nginx 每个站点的配置文件(一般为nginx 配置同目录下的 vhost/域名.conf)中指定对应的端口即可,server 里指定 fastcgi_pass 

server {
        ……
        location ~ \\.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;  # 这里与php 监听端口一致
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

以上是关于配置不同站点不同版本PHP的主要内容,如果未能解决你的问题,请参考以下文章

wampserver配置多个不同路径站点

按原产国重定向到不同版本的网站

PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行

Apache多站点的配置

宅基地中每个站点的单独 php 版本不起作用

APS+PHP多站点 应该如何配置?