Date: 2020.9.26 阴天 . 有风 . 凉凉的
想要实现apache2.2的php多版本运行,缺少mod_fcgid模块
先下载mod_fcgid模块,下载链接
然后上传到服务器,解压,发现缺少apxs,原因是缺少 httpd-devel
下载 httpd-devel ,上传到服务器 rpm -ivh 安装
我还额外安装了 apr 相关的包
### 此处可能存在版本号不对应,依赖缺失的问题,所以我 rpm 加上参数 -- force --nodeps 进行强制安装
[root@lbsdb download]# rpm -ivh httpd-devel-2.2.15-69.el6.centos.x86_64.rpm --force --nodeps
Preparing... ########################################### [100%]
1:httpd-devel ########################################### [100%]
[lbs@lbsdb build]$ vim /usr/sbin/apxs
### 我修改了一下apxs文件, 将
my $installbuilddir = $libdir . "/httpd/build"
==>
my $installbuilddir = $libdir . "/usr/lib64/httpd/build"
接下来回到解压的 mod_fcgid 文件夹
[root@lbsdb mod_fcgid-2.3.9]# APXS=/usr/sbin/apxs ./configure.apxs
### 会生成一个配置文件 Makefile
[root@lbsdb mod_fcgid-2.3.9]# make && make install
[root@lbsdb mod_fcgid-2.3.9]# ls -l /usr/lib64/httpd/modules|grep fcgid
-rwxr-xr-x 1 root root 353253 May 29 15:37 mod_fcgid.so
### 生成了 mod_fcgid.so,成功!!!
配置文件 httpd.conf
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
FcgidIOTimeout 384
FcgidConnectTimeout 360
FcgidOutputBufferSize 128
FcgidMaxRequestsPerProcess 1000
FcgidMinProcessesPerClass 0
FcgidMaxProcesses 16
FcgidMaxRequestLen 524288000
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
FcgidInitialEnv PHPRC /usr/local/php/bin/
AddHandler fcgid-script .php
FcgidWrapper /usr/local/php7.4.6/bin/php-cgi .php
FcgidIPCDir /dev/shm
ProcessLifeTime 360
<IfModule mod_mime.c>
AddHandler fcgid-script .fcgi
</IfModule>
</IfModule>
<VirtualHost *:82>
DocumentRoot /home/developEnvironment/
AddHandler fcgid-script .fcgi .php
#映射fcgi执行脚本
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程 在处理完所有请求前退出
FcgidMaxRequestsPerProcess 1000
#php-cgi每个进程的最大请求数
FcgidIOTimeout 300
#最大执行时间
FcgidIdleTimeout 300
#最大空闲时间
FcgidMaxRequestLen 2097152
#限制最大请求字节
MaxRequestLen 52428800
#php程序最大文件上传限制50MB,默认只有2MB
FcgidInitialEnv PHPRC "/usr/local/php7.4.6/"
#php安装路径
FcgidWrapper "/usr/local/php7.4.6/bin/php-cgi" .php
#php-cgi脚本执行路径
<Directory "/home/developEnvironment/">
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
6.重启apache服务
service httpd restart
# 博客小菜鸟,记录日常,不喜尽情喷。