Apache mod_fcgid模块支持多个PHP版本

分类:PHP 时间:

因为服务器资源有限,多个项目对PHP版本支持不一样才不得已通过技术的途径解决棘手的问题。原先PHP版本是PHP5.4,把PHP作为Apache模块形式安装运行。后面又有一个项目最低支持PHP版本为5.6,就不得不再安装一个PHP5.6版本。在网上查找很多资料发现可以尝试的一种方案是使用Apache的mod_fcgid模块。使用mod_fcgid的优点有很多,比如:可以支持在一个系统上支持同一种脚本不同版本的解释器,如PHP4, PHP5。只要安装一个Apache就可同时支持PHP, Python, Perl等语言,没有必要为它们安装各自的Apache模块。比PHP运行在安全模式更安全。简单的总结一下,使用mod_fcgid模块就可以实现只需要一个Apache下同时运行多种语言的多种不同版本,而且更加安全。下面PHP程序员雷雪松就以Apache下安装PHP5.4和PHP5.6为例,详细讲解下Apache mod_fcgid模块支持多个PHP版本的具体步骤。

1、在Apache官网下载mod_fcgid源码包,当前下载的版本是mod_fcgid2.3.9。

1
[root@Apache ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz

2、解压并使用Apache的apxs安装mod_fcgid。

1
2
3
4
[root@Apache ~]# tar -zxvf mod_fcgid-2.3.9.tar.gz
[root@Apache ~]# cd mod_fcgid-2.3.9
[root@Apache mod_fcgid-2.3.9]# APXS=/usr/local/apache/bin/apxs ./configure.apxs
[root@Apache mod_fcgid-2.3.9]# make && make install

3、Apache配置对PHP多版本的支持,需要注意的是先必须编译安装不同版本的PHP。具体的步骤就不赘述了,可以参考一下《CentOS编译安装Apache2.4+PHP5.6》中的编译安装PHP5.6部分。

1
[root@Apache mod_fcgid-2.3.9]# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#默认使用php5_module模块。PHP版本PHP5.4

DocumentRoot "/var/www/html"
ServerName www.leixuesong.cn
ServerAlias www.leixuesong.cn
ErrorLog "logs/www.leixuesong.cn.com-error_log"
CustomLog "logs/www.leixuesong.cn.com-access_log" common

Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all


#默使用mod_fcgid模块定义的cgi。PHP版本PHP5.6

DocumentRoot "/var/www/php56"
ServerName "php56.leixuesong.cn"
DirectoryIndex index.html index.php
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进
程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#最大执行时间
FcgidIOTimeout 600
FcgidIdleTimeout 600
#php-cgi的路径
FcgidWrapper /usr/local/php56/bin/php-cgi .php
AddHandler fcgid-script .php
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
<Directory "/var/www/php56">
Options +ExecCGI

标签:
来源:Apache mod_fcgid模块支持多个PHP版本

3 评论 “Apache mod_fcgid模块支持多个PHP版本

    淘宝内部优惠券 评论:
    2016年12月21日 下午5:21

    PHP好久不玩了,以后还是能用得上的

    Penn 评论:
    2017年3月2日 下午10:24

    正好需要,感谢分享!

    手持身份证照片 评论:
    2017年4月25日 上午12:34

    加油,挺不错的! 手持身份证购买 http://www.scidcard.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注