2010年06月18日 星期五 14:27
IIS6+PHP5.3.2配置:在windows下使用Apache+PHP的,请选择VC6版本; windows下使用IIS+PHP的,请选择VC9版本 首先要知道的是,那个服务器平台对应PHP那个版本: 1。在windows下使用Apache+PHP的,请选择VC6版本; 2。在windows下使用IIS+PHP的,请选择VC9版本; 第一部分:IIS6+PHP5.3 1.下载 FastCGI For IIS6 第一部分:IIS6+PHP5.3 1.下载 FastCGI For IIS6 www.iis/expand/fastcgi 打开页面后点右边 download x86 / x64 看看你服务器选择下载 下载之后,双击运行进行安装。 安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图: 同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler 2.下载 PHP5.3 Windows 版 www.php/downloads.php 下载 .zip 格式的版本,下载后解压至 D:\PHP 目录,并给 IIS 启动帐户组或用户赋予读取和运行权限。如下图: 你可以根据自己的意愿解压到别的目录。 3. 注册 PHP 到 FastCGI 打开 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”是配置节名称,以“[PHP]”定义。 4. 配置 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 = "<br><font color=#ff0000>" 4。第630行改为:error_append_string = "</font><br><br>" 5。第813行改为:extension_dir = "D:\php\php_setup_files\php-5.3-vc9\ext\" 6。第854行改为:fastcgi.impersonate = 1 7。从948行到988行根据自己的需要修改 8。第997行改为:date.timezone = asia/Shanghai 其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS。 5. 配置网站 右键网站 => 属性 => 主目录 => 配置 => 添加,如下图配置: 可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll 6. 写个 php 测试下吧 <?php phpinfo(); ?> PHP目录权限:IWAM_机器名称(和上图中并没有影响,感觉它的权限更小些,但两种权限都能正常运行) 错误信息: 1。Error Number: 14001 (0x800736b1). 没有安装Microsoft Visual C++ 2008 Redistributable Package 下载地址:www.microsoft/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn 2。Error Number: 5 (0x80070005). Unable to place a FastCGI process in a JobObject. Try disable the Application Pool CPU Limit feature 取消CPU的监视 3。No input file specified. 估计是没配置 fastcgi.impersonate。 第一步、安装 FastCGI For IIS6 3.2.1、 将下载得到的fcgisetup32.msi,双击运行进行安装。 安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。【图十二所示】 【图十二】 同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。【图十三所示】 【图十三】 第二步、安装PHP 由于PHP5.3的全新特效及改进,原有的isapi方式解析PHP脚本已经不被支持,PHP从5.3.0以后的版本开始使用微软的fastcgi模式,这是一个更先进的方式,运行速度更快,更稳定!新版本的PHP5.3通过以往老方法已经不能在IIS上安装了,下载IIS下的PHP,(注意IIS下要选择VC9的版本)解压到所需目录,该目录需要给予user读取运行权限, 3.2.2、 下载 .zip 格式的版本,解压缩下载的 php-5.3.0-Win32-VC9-x86.zip 文件,并将其复制到:D:\PHP\php5目录(你可以根据自己的意愿解压到别的目录。),并给 IIS 启动帐户组或用户赋予读取和运行权限。【图十四所示】 【图十四】 D:\PHP\php5目录下的所有dll文件复制到C:\windows\system32下(Windows2000系统为C:\winnt\system32,下同),如果已经有若干同名文件存在,覆盖即可。【图十五所示】 【图十五】 3.2.3、注册 PHP 到 FastCGI 打开 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] (约第162行)下添加以下配置: [Types] php=PHP [PHP] ExePath=D:\PHP\ 这里要用:“\”不能用“/”,“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。 (选你自己的安装的目录,下同。) D:\PHP\php5目录下的php.ini-development复制一份,更名为php.ini(还是在当前目录中)【图五所示】,再用文本编辑软件打开这个php.ini(建议使用Notepad2、EditPlus、UltraEdit等各种支持语法高亮显示的文本编辑软件)。 3.2.4、 查:extension_dir = "./" (约第813行) 将其路径知道你的PHP目录下的扩展功能目录中,这里PHP5对应修改为extension_dir = "D:/PHP/php5/ext" 。 再在D:\PHP下建立文件夹,并命名为upload_tmp 查 ;upload_tmp_dir = (约第879行) 将;upload_tmp_dir =该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起作用。 upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个决定路径,需要注意的是,这里设置的目录必须有读、写权限。 这里我设置为upload_tmp_dir = "D:/PHP/upload_tmp/" (这里就是我前面建立的文件夹) 到:fastcgi.impersonate = 1;约854行这句,把前面的;去掉, fastcgi.impersonate = 1 如下图: 到:short_open_tag= Off;约226行改为 short_open_tag= On 3.2.5、 搜索 ; Windows Extensions,定位到php.ini文件的约942行,将下面列出的常用扩展前面的分号注释符去掉:
特别提示:Exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到extension=php_mbstring.dll一行的下面。 注意最后一个php_zip.dll这个在我下载下来的mysql下载之后是个文件夹php5.3.0的ext内是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从PHP5.2中拷贝过去(php5.2.X可以,php5.3.0不行)extension=php_ming.dllphp5.3.0的ext内是也不存在 【图十六】 ;date.timezone = (约第997行) 去掉前面的分号注释符,这里将其设置为 date.timezone = Asia/Shanghai 到下面 [Date] ; Defines the default timezone used by the date functions ; php/date.timezone ; date.timezone = 更改为并去除前面的“;”: [Date] ; Defines the default timezone used by the date functions ; php/date.timezone date.timezone = Asia/Shanghai 如果不改以上的date.timezone可能打开网页会提示500错误
3.2.6、 查:;session.save_path = "/tmp" (约第1466行) 将前面的分号注释符去掉,这里将其设置为session.save_path = "D:/PHP/upload_tmp" (这里就是我前面建立的文件夹) 3.2.7、 如果你有遇到无法上传较大文件或者运行某些程序经常超时,那么可以修改以下内容来调整相关限额: 在大约第440行, max_execution_time = 30 ; 这个是每个脚本运行的最长时间,根据你的需求更改数值,单位秒 max_input_time = 60 ; 这是每个脚本可以消耗的时间,根据你的需求更改数值,单位也是秒 大约第458行, memory_limit = 128M ; 这个是脚本运行最大消耗的内存,根据你的需求更改数值,256M。 大约第732行, post_max_size =10M 表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的. 限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...根据你的需求更改数值,M是单位:兆。 大约第883行, upload_max_filesize = 2M ; 上载文件的最大许可大小 ,根据你的需求更改数值,M是单位:兆。 在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个. 3.2.8、 php.ini文件中基本就是作如上修改,其他的你可以根据自己的具体需求修改,可见附后:PHP5.3.0特除配置。然后将该文件保存,再复制一份到C:\Windows下面。如果PHP5是装在C盘,因这个"备份"文件的存在,会干扰了FastCGI的运行,只有把 C:\php\php.ini 删除,不删除有时IIS报500错! 3.2.9、 配置网站 打开IIS管理器,网站上点右键-属性-主目录-配置-添加,配置如下图 【图十七】 可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll 先运行D:\PHP\如果能进入命令窗口并只有光标,说明FastCGI能正常调用php-cgi,否则会提示错误,这点对使用微软的fastcgi模式很重要。 【图十八】 3.2.10、写个 php 测试下吧 修改完在IIS上或者命令提示符运行iisreset命令重启IIS服务,这步很重要! 测试是否安装成功! 建立一个网站,phpinfo.php文件内容为: 文件:phpinfo.php <?php phpinfo(); ?> 看到类似以下效果说明你的服务器可以跑 php 了。 【图十九】 3.2.11、安装过程出现小插曲,如果运行测试文件出现如下提示: 先运行D:\PHP\如果能进入命令窗口并只有光标,说明FastCGI能正常调用php-cgi,再以下错误解决方法,很重要。 错误1, FastCGI Error The FastCGI Handler was unable to process the request. Error Details: The FastCGI process exited unexpectedly Error Number: -2147467259 (0x80004005). Error Description: 未指定的错误 HTTP Error 500 - Server Error. Internet Information Services (IIS) 搜索: register_globals = Off (约第705行) 将Off更改为 On,该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起作用,即得到 register_globals = On ; 注:这个对于PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能所以打开,打开后请注意PHP程序的严谨性,如果不需要全局变量功能,或者出错,请保持默认Off状态。 错误2, fastcgi error the fastcgi handler was unable to process the request. -------------------------------------------------------------------------------- error details: error number: 5 (0x80070005). error description: 拒绝访问。 http error 500 - server error. internet information services (iis) 这个错误是由于在解压php之后,没有对iis启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决. 错误3, FastCGI Error The FastCGI Handler was unable to process the request. -------------------------------------------------------------------------------- Error Details: Could not find entry for "php" on site 1960240566 in [Types] section. Error Number: 1413 (0x80070585). Error Description: 未指定的错误 HTTP Error 500 - Server Error. Internet Information Services (IIS) 即说明没有安装成功!请按照fcgiext.ini 修改配置即可!! 错误4, ---------- FastCGI Error The FastCGI Handler was unable to process the request. Error Details: ∙ The FastCGI process exited unexpectedly ∙ Error Number: -1073741819 (0xc0000005). ∙ Error Description: Unknown Error HTTP Error 500 - Server Error. Internet Information Services (IIS) -------- 我的PHP目录在C盘 当时配置PHP.INI的时候就在那个安装目录编辑好,再复制到windows目录下的... 结果恰恰是C:\PHP\php.ini 这个"备份"文件的存在 干扰了FastCGI的运行,总是提示我。 把 C:\php\php.ini 删除,搞定! 随后用FakeCGI调试工具才搞定原因.. 感谢FakeCGI,痛斥我的坏习惯!!! 3.2.12、PHP5.3.0特除配置 一,如何正确调整上传附件大小限制? 修改 php.ini (Windows 系统在 C:/Windows/system32 下)中的下面几项: 1. post_max_size =10M 表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的. 限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等... 2.file_uploads = On 是否允许上传文件,如果为OFF您将不能上传文件. 3.upload_tmp_dir = "C:\Server_Core\php\upload_tmp\" 上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件. 4.upload_max_filesize =2M 最大上传文件大小,此项针对上传文件时单个文件的大小. 与post_max_size之间的关系: 在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个. 修改之后一定要重启 Web 服务。 注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的. 二,EXIF信息服务器配置说明: 1.在php.ini文件中到;extension=php_mbstring.dll,去掉前面的分号 2.在php.ini文件中到;extension=php_exif.dll,去掉前面的分号,并将此行移动到extension=php_mbstring.dll,之后。 3.到[exif]段,把下面语句的分号去掉。 ;de_unicode = ISO-8859-15 ;exif.decode_unicode_motorola = UCS-2BE ;exif.decode_unicode_intel = UCS-2LE ;de_jis = ;exif.decode_jis_motorola = JIS ;exif.decode_jis_intel = JIS PS: 安装版PHP的方法: 【图二十】 点击NEXT 【图二十一】 打上勾同意 【图二十二】 出现安装路径,默认路径,点击"Next" 【图二十三】 在这里选择:IIS FastCGI,再点击Next 【图二十四】 然后在模块里选上 mysql GD2 Multibyte String mcrypt 之后点击"Next",安装成功! | ||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论