windows安装Apache2.4.3(mod_fcgi)+PHP5.4.10+Mysql5.5.29

最近有朋友问我,根据我的以前的一个教程,php5apache2_4.dll来运行php的http://www.myxzy.com/post-333.html,但是现在apachelounge官网没有php5apache2_4.dll文件下载了,只有一个mod_fcgid了,php的包里面也没有php5apache2_4.dll这个文件。所以就写了这个教程。

这个教程是在windows下用Apache+php+Mysql通过mod_fcgid(fastcgi)方式来建立php环境。


下面的教程由星知苑提供:

第一部分:下载各个软件,这个我想不用我多说的了吧。

PHP5.4.10版本下载地址:http://windows.php.net/download/ 下载的时候还要下载Microsoft 2008 C++ Runtime (x86) 

Mysql5.5.29版本下载地址:http://www.mysql.com/downloads/installer/(这个要注册才能下载)

Apache2.4.3版本下载地址:http://www.apachelounge.com/download/ 下载这个的时候还要下载

VC10 SP1 vcredist_x86.exe和mod_fcgid-2.3.7-win32.zip这个模块。

注:VC10 SP1 vcredist_x86.exe不装可能会出问题,命令启动可能可以直接启动,但是通过服务来启动就可能提示错误。

这里我自己就碰到了这个问题,命令可以启动apache,也可以直接访问了。但是注册服务后,通过服务来启动apache,一直提示

错误 1053: 服务没有及时响应启动或控制请求。


当然你嫌麻烦可以下载星知苑的网盘里面的软件,多是官方文件,未做任何修改,大家可以安心下载:百度网盘




第二部分:安装apache2.4.3

1.解压httpd-2.4.3-win32.zip,把apache24放到C盘。

2.修改apache\conf文件夹下的httpd.conf文件的第213行文件,去掉前面的“#”号后保存。

3.cmd命令:

cd c:\apache24\bin
httpd                      \\命令启动apache,不能关闭cmd窗口,关闭即关闭apache
httpd.exe -k install -n "Apache24"       \\注册apache24服务
httpd.exe -k uninstall -n "Apache24"       \\卸载apache24服务

通过服务就可以直接启动apache了,服务中的名称就是apache24.

测试:浏览器输入127.0.0.1,显示it works就是已经正确安装了apache。


第三部分:安装php5.4.10

1.解压php-5.4.10-nts-Win32-VC9-x86.zip到C盘php文件夹中。

2.修改apache的httpd.conf,加载mod_fcgid.so模块。

LoadModule fcgid_module modules/mod_fcgid.so

3.添加httpd.conf的mod_fcgid的模块配置。

<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
FcgidInitialEnv PHPRC        "c:/php"
# Set PHP_FCGI_MAX_REQUESTS to greater than or equal to FcgidMaxRequestsPerProcess
# to prevent php-cgi process from exiting before all requests completed
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS      1000
# Maximum requests a process should handle before it is terminated
FcgidMaxRequestsPerProcess       1000
# Maximum number of PHP processes
FcgidMaxProcesses             15
# Number of seconds of idle time before a php-cgi process is terminated
FcgidIOTimeout             120
FcgidIdleTimeout                120
#Path to php-cgi
FcgidWrapper "c:/php/php-cgi.exe" .php
# Define the MIME-Type for ".php" files
AddType application/x-httpd-php .php
</IfModule>
4.修改httpd.conf中的,添加在 Options Indexes FollowSymLinks后面添加Includes ExecCGI。修改后如下:
<Directory "c:/Apache24/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks  Includes ExecCGI

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

5.重新启动apache,查看你的phpinfo()中的环境变量中是否加入了fcgid ,注意fcgid  是不支持 PATH_INFO。


第四部分:安装mysql5.5.29

mysql5.5.29安装版需要.net Framework4.0的支持,所以一定要安装4.0,而且版本也不行错(Microsoft .NET Framework 4.0.30319.1这个版本),当然4.0不包含3.5和2.0,所以还需要安装.net Framework3.5(3.5中已经包含2.0了)

装好.net Framework4.0后就安装mysql5.5.29一步一步来就可以了。

1.复制份php.ini-development,并改名为PHP.ini
2.修改php.ini,第730行,去掉“#”号,并修改路径

; extension_dir = "ext"
修改为
extension_dir = "c:\php\ext"

3.第880和881行,去掉前面的“;”号,并保存。

;extension=php_mysql.dll
;extension=php_mysqli.dll
改为
extension=php_mysql.dll
extension=php_mysqli.dll

保存php.ini,重启apache即可。

注:其他php的设置请根据自己的需求修改,我这里不在说明了。


下面是phpinfo的截图


点击查看原图


装了一下emlog,后台的基本信息截图

点击查看原图

  • 下载列表

目前有 11 条评论

avatar

游客2996774215  2018-03-24 14:56 6楼

WOW just what I was looking for. Came here by searching for
网络技术 回复
avatar

游客  2015-05-12 18:24 5楼

你好,一直装不上去,配置一旦开启这句就启动不了了     FcgidWrapper "D:/Program Files/Apm/php/php-cgi.exe" .php 回复
avatar

星之宇  2015-05-12 18:34

@游客:1、查看有没有php-cgi.exe这个文件存在
2、php文件夹换个路径试试。
3、VC++有没有安装好 回复
avatar

corg  2014-07-17 23:01 4楼

比如讲解下 不用fcgid 用 php5apache2_4.dll 如何实现多虚拟主机多PHP版本切换 回复
avatar

星之宇  2014-07-18 05:34

@corg:看可以看看这篇http://www.myxzy.com/post-333.html
多虚拟机多版本切换,建议用一键环境,自己配置比较麻烦。 回复
avatar

corg  2014-07-18 10:08

@corg:fcgid这个能实现多版本切换,就是用这个 php5apache2_4.dll 方式 不懂搞,望赐教~ 回复
avatar

星之宇  2014-07-18 10:46

@corg:php5apache2_4.dll通过Apache载入不同httpd.conf来实现加载不同的PHP和php.ini配置文件。 回复
avatar

corg  2014-07-17 22:59 3楼

这教程算是入门级别的了~~~~~~~~~~~~~~~可以往深点讲吗? 回复
avatar

jerossh  2013-04-22 16:50 2楼

看过相关视频,第一段httpd.exe -k install -n "apache"  可以精简为 http -k install 回复
avatar

星之宇  2013-04-22 16:53

@jerossh:这样写是方便别人改服务名,不然你以前装过Apache的老版本的会有重名的可能报错。 回复
avatar

大松  2013-01-02 18:05 1楼

哈哈,你真的很厉害。很有风度,新年快乐哈!我一直关注着这个地方,应该能学到很多东西。刚才看见这个以为是我的那个呢,怪激动地,哎,虽然不是但还是支持下。 回复
昵称
邮箱
主页
提交
订阅