最新服务器IIS下成功配置PHP+Mysql完整篇
作者:leven 日期:2011-09-17 09:55:09
腾讯开放平台上线已经好几个月,一直以来以为像网上的那样可以互惠互利,可个人并不怎么感冒,再加上最近老总,好像发现新大陆似的拉我去谈这个东西是怎么合作的,看能不能把买房的客户通过这个东西拉拢过来。就开始着手配置一个腾讯提供的IWEIBO到服务器上,看看吗。。不行再撤掉。
因为我一直是从事.NET开发的,对微软的东西比较了解的.但是腾讯的IWEIBO用的是PHP+MYSQL,这两个东西好像跟LINUX系统关系非常熟,WINDOWS之外的东西我真的是外星人,全是听说一些东西。但经过我一天的配置还是成功,还学习了不少东西,知道PHP正常运行的必须环境,OK,童鞋们着急了吧,下面就是个人的配置心法。。
我的配置是windows 2003+IIS 6.0+PHP 5.38+Mysql+fastcgi,网上一些解决办法只是解说了其中的一部分,FASTCGI 是在IIS下配置PHP比较稳定的一种方法,其他的CGI,IISAPI方法,容易引起IIS崩溃。
首先下载FASTCGI
地址:http://www.iis.net/download/FastCGI,点击
FastCGI 1.5 for IIS 6 and 5.1
下面的 X86 或者X64
下载,下载完成后双击安装。
安装完成后,在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:
同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler
下载 PHP5.3 8 Windows 版
http://www.php.net/downloads.php
下载 .zip 格式的版本,下载后解压至 D:\PHP 目录,并给 IIS 启动帐户组或
用户赋予读取和运行权限(network service)。
你可以根据自己的意愿解压到别的目录。
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%\system32\inetsrv directory.
我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在
加载 fcgiext.dll 时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置
为每个网站提供映射。
在 [Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe 
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
*.如果出现错误,将D:\PHP\php5目录下的所有dll文件复制到
C:\windows\system32下(Windows2000系统为C:\winnt\system32,下同),
如果已经有若干同名文件存在,覆盖即可。
配置 php.ini
将 D:\PHP\php.ini-production 复制一个,然后重命名为 D:\PHP\php.ini
打开 D:\PHP\php.ini,
修改PHP.ini文件:
1。第531行改为:display_errors = On
2。第542行改为:display_startup_errors = On
3。第624行改为:error_prepend_string = "
"
4。第630行改为:error_append_string = "
"
5。第813行改为:extension_dir = "D:\php\ext\"(注:在系统路径下增加
d:\php\ext,如果报错,就将extension_dir改成c:\windows\system32)
6。第854行改为:fastcgi.impersonate = 1
7。从948行到988行根据自己的需要修改
8。第997行改为:date.timezone = asia/Shanghai
如果不改以上的date.timezone可能打开网页会提示500错误
在PHP.INI文件里面搜索 : Extensions ,定位到php.ini 文件的约942行,将下面列出的
常用扩展前面的分号注释符去掉:
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll 其中php_mysql.dll,php_mysqli.dll,php_gd2.dll,php_mbstring.dll都要把前面的分号去掉,当然如果出错可以根据需要把相应的DLL打开,有些函数需要这些DLL才能执行的,DLL是函数的依赖,特注extension_dir这个行必须设定为你安装解压PHP目录的ext文件夹,:Exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring
支持,所以将extension=php_exif.dll这一行移动到
extension=php_mbstring.dll一行的下面。
注意最后一个php_zip.dll这个在我下载下来的
php5.3.0的ext内是不存在的,所以如果开启会报错误,如果实在需要这个DLL,
可以从PHP5.2中拷贝过去(php5.2.X可以,php5.3.0不行)
extension=php_ming.dllphp5.3.0的ext内是也不存在
其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完
记得重启 IIS。
配置网站
右键网站 => 属性 => 主目录 => 配置 => 添加,如下图配置:
可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll。
至此已经基本上大功告成,写个 php 测试下吧
phpinfo();
?>
上一篇
下一篇
文章来自:
Tags: