配置IIS7.0+FastCGI支持运行PHP_操作系统
事情是这样的。我的电脑在C盘装的是XP,E和F盘装的是WINDOWS SERVER 2008。用来做服务器的是F盘的WINDOWS SERVER 2008。在XP系统下,我直接安装了Appserv套件,包括PHP,MYSQL,PHPMYADMIN,安装路径为D盘。而现在准备在F盘的 WINDOWS SERVER 2008系统下配置IIS7.0以支持fastcgi运行PHP。
当然,像前文所述,在服务管器中添加支持fastcgi的功能。
然后,下载一份最新版的non-thread safe zip package。解压到我的D盘的Program Files下的PHP目录。
现在就是配置IIS 7.0了。打开IIS管理控制台,新建一个站点,名称为PHPHOME。当然,由于我将其端口绑定为80,故应先修改已有的那个站点Default Web Site所绑定的端口(改成8080吧)。路径为我放在D盘www路径下的PHP程序。注意:应用程序池选DefaultAppPool。如下图,请看仔细各个配置:
然后单击PHPHOME,双击右边的处理程序映射(Handler Mappings),点击右边出现的操作中的“添加模块映射(Add Module Mapping...)”,如下配置各个项目:
点击确定。如果提示不成功,可以把“可执行文件”下面的路径加上双引号括起来,再点确认。
- Request path: *.php
- Module: FastCgiModule
- Executable: "C:\[Path to your PHP installation]\php-cgi.exe"
- Name: PHP via FastCGI
点击默认文档,添加index.php
还得注意的是:
1.安装MYSQL。由于我XP已在D盘安装过MYSQL,故这里直接共用那个程序。运行,CMD,打开命令行,输入:d:\Progra~1\Appserv\Mysql\BIN\MYSQLD-NT.EXE --INSTALL,回馈的结果是已经安装MYSQL服务。注:这个命令其实就是运行安装MYSQLD-NT.EXE。
2.配置PHP及PHPMYADMIN。
-
- Rename the php.ini-recommended to php.ini.Open the php.ini file, then uncomment and modify settings as follows:
- Set fastcgi.impersonate = 1. FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under.
- Set cgi.fix_pathinfo=1. cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's previous behavior was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not care what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting this to 1 will cause PHP CGI to fix its paths to conform to the spec
- Set cgi.force_redirect = 0.
- Set open_basedir to point to a folder or network path where the content of the web site(s) is located.
- Set extension_dir to point to a location where PHP extensions reside. Typically, for PHP 5.2.X that would be set as extension_dir = "./ext"
- Enable the required PHP extension by un-commenting corresponding lines, for example:
extension=php_mssql.dll
extension=php_mysql.dll
以上英文大概有些人看得不太懂,简要翻译一下。
大意是在D盘的PHP目录中把php.ini-recommended改成php.ini,打开,修改里面的各项配置:
修改 fastcgi.impersonate = 1,cgi.fix_pathinfo=1,cgi.force_redirect = 0,修改open_basedir 为d:\www(既PHP程序存放的路径),修改extension_dir为extension_dir = "./ext",删去extension=php_mssql.dll
extension=php_mysql.dll前的分号。
如果对php.ini较熟,可以自由修改其它选项。
重启机器后PHP应该就能运行了。
还需配置PHPMYADMIN:
我的直接在D:\WWW路径下,
配置config.inc.php,找到以下代码并做相应修改
$cfg['PmaAbsoluteUri'] = ''; //PhpMyadmin路径,如我的为:localhost
$cfg['blowfish_secret'] = ''; //随便输几个字母
$cfg['Servers'][$i]['auth_type'] = 'config'; //config或http改成cookie
$cfg['Servers'][$i]['password'] = ''; //输入安装数据库时的密码OK。
注意:如果phpmyadmin显示
无法载入 mcrypt 扩展,<br />请检查 PHP 配置
解决方法:
1>:找到D:\program files\appserv\Php5\libmcrypt.dll(此文件具体位置根据你的安装位置),复制到X:\WINDOWS\system32文件夹(X为SERVER2008的安装分区)
2>:重新启动IIS.