windows server 2008中iis7中的php5.3出现 Server 内部错误500的解决
1,问题描述
某windows server 2008服务器中运行了iis7.5,其中iis内置了php5.5和php5.3的支持。
配置完毕后发现,采用php5.5的网站正常,而采用php5.3的网站访问其中的php文件时,出现如下错误:
错误 500.0 - Internal Server Error发生未知 FastCGI 错误
2,问题分析
查看php5.3的error log文件,发现其中没有内容。
检查网站的.php文件类型的映射,确实是采用fastCGLModule来处理。
检查相关文件和文件夹的安全属性,设置无误。
问题似乎没有头绪。
3,php命令行错误的分析
想到php5.5正常,为啥php5.3不正常,因此想比较一下。
在命令行下,分别运行 php -v 命令,结果php 5.3报错:
D:\php\php-5.3>php -v 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。
因此先运行调试工具程序,
D:\php\php-5.3>sxstrace.exe Trace -logfile:C:\trace.log 已启动跟踪。跟踪将保存到文件 C:\trace.log。 按 Enter 停止跟踪...
然后执行命令,php -v
再执行下述命令,分析出具体问题:
D:\php\php-5.3>sxstrace.exe Parse -logfile:C:\trace.log -outfile:C:\trace.txt 正在分析日志文件 C:\trace.log... 分析完毕! 将输出保存到文件 C:\trace.txt。
打开C:\trace.txt,内容如下:
显然,问题的关键就是系统未找到“9.0.21022.8”版本的VC9.0的32位版本的DLL。
Download Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update from Official Microsoft Download Center
在上述网址下载 vcredist_x86.exe,注意不是vcredist_x64.exe,然后安装后,php5.3网站正常。
4,后记
后来在网上查找到以下文章,故障现象与解决方案与本人的问题基本类似。可作为参考:
(13条消息) HTTP 错误 500.0 - Internal Server Error 发生未知 FastCGI_weixin_33709609的博客-CSDN博客
windows操作系统由于本部众多,某些依赖库不一定都安装了,在出现问题时,可使用sxstrace.exe程序协助定位具体的问题。