最新服务器IIS下成功配置PHP+Mysql完整篇


       腾讯开放平台上线已经好几个月,一直以来以为像网上的那样可以互惠互利,可个人并不怎么感冒,再加上最近老总,好像发现新大陆似的拉我去谈这个东西是怎么合作的,看能不能把买房的客户通过这个东西拉拢过来。就开始着手配置一个腾讯提供的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: IIS  php  mysql 
评论: 0 | 引用: 0 | 查看次数: 477
发表评论
用户名:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | HTML代码允许 关闭 | 评论可修改 关闭