windows2008的IIS7下配置PHP+MySQL+ZendOptimizer-windows2008下安装phpwind8.0(博主有个小请求:如果哪位看了该帖对您有什么帮助或我的总结有什么错误欢迎点评并提出宝贵意见及建议,成分感谢!)
具体软件环境如下:
windows2008标准版,IIS7.0(windows2008系统自带),
PHP5.2.14,MySQL5.1.48,ZendOptimizer以上软件三款软件均官方下载,
我刚开始配置时软件是从百度随便搜索下载的,但始终配置不成功,后来
从官方网站下载问题就少多了,强烈建议从官方下载会少走些弯路。
1.在配置之前要保证win2008的IIS7安装比较全面像Web万维网服务器中的组件能安装的最好都安装上
尤其是ISAPI扩展ISAPE筛选器,CGI要安装上,并且要添加上ISAPI或CGI限制,这一步操作很关键关系到下边的成败,添加操作如下打开IIS管理器,点击起始页下边的那一项,该项是你电脑名字命名的而并不你的站点名字,一定要看清楚,在右边窗口中找到并打开"ISAPI或CGI限制",点击右键"添加""ISAPI或CGI路径"定位D:php5php5isapi.dll,描述就随便写了,我写的是php,并将"允许执行扩展路径"打上对钩,确定OK。
2.安装PHP:
比较简单如果是压缩版的解压到了D:php5下,例如我的是安装版的也指定到了d:php5目录中,
建议PHP,Mysql都安装在非系统盘下以免日后麻烦,安装的目录也不要带有中文,以免接下来的配置及日后应用出现
未知的错误,同时在系统的path变量中加入d:php5和d:php5ext,当然要注意格式如果在变量内容尾部加要保证d:php5
前边有个分号;并且d:php5和d:php5ext之间也要有个分号,添加好后确定,要重启电脑才会生效。
3.配置PHP:
将D:php5下的php.ini-list文件名更改为php.ini,打开php.ini进行配置。
先修改extension_dir,它的目录指向必须准确,即extension_dir = "d:/php5/ext",找到register_globals = Off 修改为On,再定位到Windows Extensions将以下常用的dll文件开启,开启的方法就是将前边的分号;去掉即可
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll(注意如果加上了extension=php_curl.dll我这里会出错显示FastCGI 进程意外退出禁用后正常)
找到disable_functions =,修改为:
disable_functions =phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存好后,同时将php.ini复制到c:windows下一份。
4.配置IIS分两步走分别是:让IIS7以ISAPI方式配置PHP5.2.14和让IIS7以FastCgi方式配置PHP5.2.14,这两种模式可以两种并存也可以二选一,建议选择后者.
第一步让IIS7以ISAPI方式配置PHP:
在IIS管理器中新建一个站点和平时建立asp站点操作过程一样,如我的站点名字为phptest建立完成后关键在下边的设置,将IIS根据站点自动生成应用程序池phptest点击右键选择->基本设置,将.NET Framework版本下的值修改为"无托管代码",再将托管管道模式(M)修改为:"经典"->确定。
点击一下站点phptest,在右边的窗口中双击打开"ISAPI筛选器",再右击"添加","筛选器名称"输入php(这个名称可以自定义),下边的"可执行文件"选择一下右边的浏览按键,将窗口定位到D:php5中,选择php5isapi.dll,然后确定如果再出现什么提示就选择YES就行。
同样在站点的右边窗口中选择打开"处理程序映射,右键盘单击选择"添加脚本映射","请求路径"输入*.php,"可执行文件"参考上边添加ISAPI筛选器的操作同样选择文件php5isapi.dll,名称我的定义为php-isapi,可以随便起名,点击确定,出现提示后点击YES。到此IIS7就可以以ISAPI方式运行php程序了。""接下来测试一下配置的效果,在phptest站点的默认文档中添加index.php,这个index.php文件的内容如下:
<?php phpinfo();?>保存好后,如果你的站点地址是本机端口是默认的80,在IE输入http://127.0.0.1/就可以看到php服务器的介绍信息了参考截图。如果能顺利看到这个信息就说明你的php可以正常的以ISAPI方式运行了。
第二步让IIS7以FastCgi方式配置PHP:
接着修改IIS,点击打开IIS站点phptest右边窗口的处理程序映射,右键盘单击选择"添加模块映射",这步看清楚了:不是脚本映射而是模块映射,"请求路径"输入*.php,模块选择"FastCGIModule"可执行文件"参考上边添加ISAPI筛选器的操作,不过这里要将文件的*.dll类型修改为*.exe类型,将文件浏览窗口定位到d:php5中选择文件php-cgi.exe,点击确定,名称随便起我的叫php-fastcgi,点击确定在出现的提示中选YES。
接着打开d:php5中的php.ini,找到以下地方进行修改:
fastcgi.impersonate=1 默认为0,如果使用IIS,你需要改为1将其开启,并将前边的分号;去掉以保证启用该项功能。
cgi.fix_pathinfo=1修改为1并将前边的分号;去掉以保证启用该项功能。
cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭或为其加上分号;我这里默认是关闭的所以不用管。其次指定php工作的时区:date.timezone,即date.timezone= Asia/Shanghai.(当然这些需要用的的项目前边的分号;都要去掉的下边不再重复)到此为止就可以让IIS7以FastCgi方式运行php程序了。
而且如果你细心的话会发现在两次运行index.php进行php信息测试时,index.php中的Server API项在没有进行FastCGI配置前是 ISAPI, 进行FastCGI配置后是CGI/FastCGI5.安装mysql,这里我就不再啰嗦了,网上有许多相关信息,当然也可参考我博客中"MySql5.0安装详细图解"http://hi.baidu.com/xiaochonga10/blog/item/31ba0cfa74aaa318a8d311d3.html进行安装配置
记得在安装完后要连接测试一下mysql,测试方法如下:在windows2008的cmd状态下输入mysql -uroot -p
接着按屏幕提示输入当时安装mysql时设置的密码,如果出现提示mysql>说明安装正常,否则自己去检查原因吧。
配置到这里你如果安装dz或pw论坛是完全可以安装的,如果你安装不成功,告诉你一个找错误的方法,在安装论坛时一般会对你配置的环境做个检测,有哪个项目不符合论坛运行环境的要求会有清楚的提示。如果一直提示mysql出错建议你换个版本安装试试,我之前试了三个版本最后才从官方下载的mysql5.1.48成功的。
6.安装ZendOptimizer3.3.3,这个东东刚开始我也不了解它,后来参考了些资料知道安装它是可以极大的提高iis或apache执行php效率的,我在安装上这个东西后出的问题也最多,安装它时是非常简单的,一路默认就可以直到安装成功。不过在出现提示please choosethe root folder of your web server时,默认是进行不下去的,需要将默认的类似这样的%system%inetpub的东西修改成随便一个你硬盘中真实存在的路径就行,我的是c:inetpub.ZendOptimizer安装成功与否要看c:windows下的php.ini,成功的话php.ini文件尾部会被加入以下信息[Zend]
zend_extension_manager.optimizer_ts="C:Program FilesendendOptimizer-3.3.0libOptimizer-3.3.0"
zend_extension_ts="C:Program FilesendendOptimizer-3.3.0libendExtensionManager.dll"
并且在浏览器中运行index.php测试页面时,会出现Zend Optimizer一个专栏信息内容。如果大家默认ZendOptimizer的安装是不需要再进行多余配置的,如果想让它工作的更出色自己可以参考官方英文pdf说明。这里我要特别强调一下我配置时出的问题,问题在于安装上它我再运行php测试页时提示我“FastCGI进程意外退出出错信息”,我根据网上的指导在cmd下运行php -v结果发现有许多dll模块没被加载,所以就去d:php5下的php.ini配置文件看,因为在安装 ZendOptimizer之前都是正常的,怎么安装后会提示不能加载dll模块,我检查d:php5下的php.ini后一切正常,于是就卸载了再安装又是用优化大理清理垃圾和注册表又是再检查修改d:php5下的php.ini,最后我才发现,c:windows下的php.ini文件,被ZendOptimizer不知道什么时候给修改了,而且修改关键的几个地方像extension_dir这么关键的地方竟然被禁用了,于是又将c:windows下的php.ini文件从头到脚重新检查配置了一下,再次去浏览器中运行测试页,又提示我这个错误“Warning: phpinfo() has been disabled for security reasons in D:phptestindex.php on line 2”
原来是php出于安全考虑禁了phpinfo()函数,而我的php测试页内容就是<?phpinfo()?>,于是又去修改了
d:php5和c:windows中的php.ini中的disable_functions =,将它的=后边内容中的phpinfo删除后才算是最终解决了问题。
总结:回顾这一路下来的配置真是太考验人了,一个小地方不注意都不行,
1.主要有两个错误提示:
"FastCGI进程意外退出出错信息"
"Warning: phpinfo() has been disabled for security reasons in",
请注意以上细节及解决方法,希望各位能顺利配置成功。
2.另外在每次修改php.ini后都要将IIS重新启用一次,这样才会使修改后的配置生效。
3.php版本暂时不要选择5.3.2因为如果你安装ZendOptimizer3.3.3还不支持php5.3.2。
4.环境配置不成功要在cmd下用php -v命令测试根据错误提示来解决很有用的