Linux+Apache+PHP+MySQL是一个低成本效率高而又稳定的WEB Server,但是我们绝大部分开发都是在Windows环境下完成开发,然后移植到Linux或者Unix下。现在依据个人体验来说明一下Windows XP+IIS下安装Apache2+PHP 5。没有IIS安装就更加简单,除去IIS相关步骤就可以了。
关闭IIS有两种方法,任意一种都可以:
- 控制面板--性能和维护--管理工具--服务中,关闭IIS Admin服务。
- 在开始--运行中直接输入如下代码,或者先输入cmd,在弹出的窗口中输入也行
net stop iisadmin
上述命令关闭了iis相关的所有服务器,比如web sites 、smtp等。net stop iisadmin /y避免输入上面那个命令后需要在输入y
如果用net stop w3svc只是关闭一个站点3w服务器,但是如果是多个web站点就不行。
如果开启IIS可以在控制面板中找到interet信息服务打开网站服务的方法,也可以用命名,net start w3svc都可以。注意如果直接在服务中打开IIS Admin服务或者运动net start iisadmin,是可以打开IIS Admin服务,但是3w服务没有打开,所以依旧需要用上面的方法打开3w服务,因为在打开IIS Admin服务没有打开3w服务,但是打开3w服务肯定就打开了IIS Admin服务。
二、安装Apache2。
ps,Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
- Apache可以到http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/下载
- 对于本机开发Network Domain,ServerName都填入localhost就可以了,填入email地址即可。
- 上图中的单项选择,对于初学者来说,不管Apache的服务是否使用80单口,建议都选第一个,这样就直接把Apache注册为系统服务,稳定方便。然后下一步选择Typical。
- 安装路径一般会默认为c:\Programme Files\Apache Group改成c:\web或者其他符合8.3格式的名称,这样以来以后每次输入Apache安装路径不用加引号,并且Apache安装时会自动生成Apache2文件夹,所以文件会安装到c:\web\apache2,这样以后也可以把PHP,MySQL都安装到web下便于几种管理。
- 由于Apache&IIS都默认WEB服务端口是80,所以其中一个必须修改其端口,一般改成8080
修改IIS端口直接在IIS管理工具中就可以了。可以在控制面板中找,或者在运行中输入inetmgr
修改Apache端口,通过开始-所有程序-Apache-Configure Apache Server打开httpd.conf文件,
找到 #Listen 12.34.56.78:80 #是注释符号
Listen 80 改成 Listen 8080
然后找到 ServerName localhost:80 改成 ServerName localhost:8080 即可
- 在浏览器中输入localhost,如果修改了端口就输入localhost:8080能够看到apache页面,就说明安装成功了。
ps[2005.9.29].利用apache的proxy模块实现隐藏iis的端口
- 按照上面的方法,apache使用默认端口80,修改iis使用端口为8080,当然你也可以采用其他的合理端口。
- 修改apache的http.conf文件,去掉下面两行代码前的注释符号#,启动代理模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
- 在该文件添加上如下两行代码,使输入http://localhost/iis/转向http://localhost:8080
ProxyPass /iis/ http://127.0.0.1:8080/
ProxyPassReverse /iis http://127.0.0.1:8080
这样就可以在浏览器中输入localhost访问apache,输入localhost/iis/访问iis了而隐藏了8080端口
- 另外,可以通过设置虚拟主机来访问apache或者iis
<VirtualHost *:80>
ServerAdmin kavenyan@163.com
DocumentRoot E:/www/dancewithnet
ServerName www.dancewithnet.com
ServerAlias dancewithnet.com
DefaultLanguage zh-CN
AddDefaultCharset UTF-8
</VirtualHost>
<VirtualHost *:80>
ServerAdmin kavenyan@163.com
ServerName iis.dancewithnet.com
DefaultLanguage zh-CN
AddDefaultCharset GB2312
ProxyPass / http://127.0.0.1:8080/ or http://服务器ip:8080/
ProxyPassReverse / http://127.0.0.1:8080/ or http://服务器ip:8080/
</VirtualHost>
这样就可以使用www.dancewithnet.com访问apache,iis.dancewithnet.com访问iss,而隐藏了8080端口
三、配置PHP环境
- 在www.php.net上下载php5的zip安装包,将其文件解压放到c:\web\php5中即可
ps, Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。后一种方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe,但其中拿掉了通过Apache DLL来运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西
- 最好是无论使用何种接口(CGI 或者 SAPI)都确保 php5ts.dll 可用,因此必须将此文件放到 Windows 路径中。最好的位置是 Windows 的 system 目录(%windir%\System):
c:\\winnt\\system32 for Windows NT/2000
或者
c:\\winnt40\\system32 for Windows NT/2000 服务器版
c:\\windows\\system32 for Windows XP
ps,也有把php文件中所有的dll文件都拷到%windir%\System中的,那样的配置和我介绍的方法稍微有点不同,但是我觉得那样比较杂乱,就不再说明,有兴趣的朋友可以自己研究。
- 接着实设定有效的PHP 配置文件,php.ini。压缩包中包括两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为此文件对默认设置作了性能和安全上的优化。将选择的 ini 文件拷贝到 PHP 能够找到的目录下并改名为 php.ini。PHP 默认在 Windows 目录(%WINDIR% 或 %SYSTEMROOT% )下搜索 php.ini:
c:\\winnt 或 c:\\winnt40 for Windows NT/2000 服务器版
c:\windows for Windows XP
- 停止Apache,打开httpd.conf进行编辑。
如果是使用CGI二进制文件的形式来使用php,添入代码如下(注意代码间的空格):
ScriptAlias /php/ "c:/web/php5/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php.exe"
如果作为模块(推荐这种方式),添加代码如下:
LoadModule php5_module "c:/web/php5/php5apache2.dll"
AddType application/x-httpd-php .php
- 保存httpd.conf,启动Apache
四、测试PHP
- 编写文件index.php放入C:\web\Apache2\htdocs中,代码如下:
- 在浏览中输入http://localhost/index.php效果如下,则说明安装成功: