最近有朋友问我,根据我的以前的一个教程,用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环境。
下面的教程由星知苑提供:
第一部分:下载各个软件,这个我想不用我多说的了吧。
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的模块配置。
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
4.修改httpd.conf中的,添加在
Options Indexes FollowSymLinks后面添加Includes ExecCGI。修改后如下:
#
# 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
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.ini2.修改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,后台的基本信息截图