HTTP 错误 500.0 - Internal Server Error

时间:2021-09-12 00:36:10
使用过程:zendstudio8(php5.3) + IIS7.5

新建了一个Test.php
<?php

  $server='192.168.0.122';   
  $username='sa';   
  $password='!@#$%';   
  $database='CxOnline_2010_08_30';   
  
  $conn = mssql_connect( $server, $username, $password) 
        or die("Couldn't connect to SQL Server on $server");   
  $db = mssql_select_db($database) or die("Couldn't open database $database");
  
?>

F5运行后出现以下错误:

HTTP 错误 500.0 - Internal Server Error
无法显示页面,因为发生内部服务器错误。
模块 FastCgiModule 
通知 ExecuteRequestHandler 
处理程序 PHP_via_FastCGI 
错误代码 0x00000000 
请求的 URL http://localhost:80/MyTest/Test.php 
物理路径 E:\_PHP_Test\MyTest\Test.php 
登录方法 匿名 
登录用户 匿名 


本人初入PHP,请多指教~

20 个解决方案

#1


你的环境还没搭配好吧。推荐用集成环境。wamp,xampp,appserv简单,好用。

#2


你的其他模块有错误。

建议按照1楼所说,重新搭配环境

#3


php的iis设置。建议自己百度一下。

#4


如果是配置问题,那为什么我把原有的注销掉,然后加入 phpinfo();又可以访问

<?php
 /*
  $server='192.168.0.122';   
  $username='sa';   
  $password='!@#$%';   
  $database='CxOnline_2010_08_30';   
   
  $conn = mssql_connect( $server, $username, $password)  
  or die("Couldn't connect to SQL Server on $server");   
  $db = mssql_select_db($database) or die("Couldn't open database $database");
 */  

  phpinfo();
?>



#5


引用 3 楼 lazygc520 的回复:
php的iis设置。建议自己百度一下。


这个我已经配置上了,且可以正常访问php文件~

#6


引用 4 楼 aimis 的回复:
如果是配置问题,那为什么我把原有的注销掉,然后加入 phpinfo();又可以访问

<?php
 /*
  $server='192.168.0.122';   
  $username='sa';   
  $password='!@#$%';   
  $database='CxOnline_2010_08_30';   
   
  $conn = mssql_conn……


info里面有无mssql这项?

#8


IIS 7.0 使用以下服务器错误 HTTP 状态代码:

500 - 内部服务器错误。

IIS 7.0 定义以下 HTTP 状态代码,表明 500 错误的具体原因:
500.0 - 发生模块或 ISAPI 错误。
500.11 - 正在 Web 服务器上关闭应用程序。
500.12 - 应用程序正忙于在 Web 服务器上重新启动。
500.13 - Web 服务器太忙。
500.15 - 不允许直接请求 Global.asax。
500.19 - 配置数据无效。
500.21 - 模块无法识别。
500.22 - 无法在托管管道模式下应用 ASP.NET httpModules 配置。
500.23 - 无法在托管管道模式下应用 ASP.NET httpHandlers 配置。
500.24 - 无法在托管管道模式下应用 ASP.NET impersonation 配置。
500.50 - RQ_BEGIN_REQUEST 通知处理期间,发生重写错误。发生配置或入站规则执行错误。

#9


php5.3 无 mssql 扩展函数组

另外你需要启用错误显示

#10


引用 9 楼 xuzuning 的回复:
php5.3 无 mssql 扩展函数组

另外你需要启用错误显示


internet选项->高级->取消“显示友好http错误信息”~

还是另有其他,请不吝赐教~

#11


我在IIS7.5建立的是虚拟目录并转为应用程序,并未建立站点~

这应该不影响我使用Zend Studio吧?

#12


php.ini 中
error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On

只有在设置了错误处理方式后,php 的错误才不会引发 500 错误(拒绝访问)

#13


引用 12 楼 xuzuning 的回复:
php.ini 中
error_reporting = E_ALL &amp; ~E_NOTICE
display_errors = On

只有在设置了错误处理方式后,php 的错误才不会引发 500 错误(拒绝访问)


我试试,先谢了~

#14


修改后,错误内容依旧~~~~~~~~~~~~~~

#15


我baidu的,可能涉及系统应用了:

http 500内部错误的解决办法! 
详见:
个人博客 一个程序员自己的博客
欢迎光临http://loveme-0617.blog.163.com    QQ:534031407 

我之前也是遇过,你按我下面的操作可以解决. 
先启动MSDTC服务,什么是MSDTC服务?显示名称:Distributed Transaction Coordinator;描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。 
CMD下net start msdtc 
结果显示“Distributed Transaction Coordinator 服务不能启动”。 
解决方法: 
把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。 
在命令行下:msdtc -resetlog 
再net start msdtc,显示服务启动成功了. 
然后右键我的电脑--管理--本地用户和组,给“IUSR_机器名”和“IWAM_机器名”两个用户设置密码,要一样比如我们都设:123。 
接着“开始”→“运行”→输入“cmd”并确定,执行以下命令: 
%SystemDrive% 
cd %SystemDrive%\Inetpub\AdminScripts 
cscript.exe adsutil.vbs set w3svc/wamuserpass 123 
cscript.exe adsutil.vbs set w3svc/anonymoususerpass 123 
看一下,行了没有?如果还不行,那么执行以下命令: 
cscript.exe synciwam.vbs -v 
然后重启IIS,命令:iisreset 
到这一步还是不行,最后在CMD下执行以下命令: 
%SystemDrive% 
cd %SystemRoot%\System32\inetsrv 
rundll32 wamreg.dll, CreateIISPackage 
regsvr32 asptxn.dll 
关闭所有的IE窗口后重新打开再执行,OK了!! 

#16


如果还是不行,参考微软的解释:
http://support.microsoft.com/kb/942031

#17


需要额外安装“SQL Server Driver for PHP”?

#18


我靠,终于报出错误来了,难道修改ini文件后不能马上应用,还有延迟?

错误如下:
Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in E:\_PHP_Test\MyTest\BL.php on line 8 Fatal error: Call to undefined function mssql_connect() in E:\_PHP_Test\MyTest\BL.php on line 8 

#19


那你设下呗:

date_default_timezone_set(PRC);

#20


感谢各位的指教,谢谢~

jt

#1


你的环境还没搭配好吧。推荐用集成环境。wamp,xampp,appserv简单,好用。

#2


你的其他模块有错误。

建议按照1楼所说,重新搭配环境

#3


php的iis设置。建议自己百度一下。

#4


如果是配置问题,那为什么我把原有的注销掉,然后加入 phpinfo();又可以访问

<?php
 /*
  $server='192.168.0.122';   
  $username='sa';   
  $password='!@#$%';   
  $database='CxOnline_2010_08_30';   
   
  $conn = mssql_connect( $server, $username, $password)  
  or die("Couldn't connect to SQL Server on $server");   
  $db = mssql_select_db($database) or die("Couldn't open database $database");
 */  

  phpinfo();
?>



#5


引用 3 楼 lazygc520 的回复:
php的iis设置。建议自己百度一下。


这个我已经配置上了,且可以正常访问php文件~

#6


引用 4 楼 aimis 的回复:
如果是配置问题,那为什么我把原有的注销掉,然后加入 phpinfo();又可以访问

<?php
 /*
  $server='192.168.0.122';   
  $username='sa';   
  $password='!@#$%';   
  $database='CxOnline_2010_08_30';   
   
  $conn = mssql_conn……


info里面有无mssql这项?

#7


#8


IIS 7.0 使用以下服务器错误 HTTP 状态代码:

500 - 内部服务器错误。

IIS 7.0 定义以下 HTTP 状态代码,表明 500 错误的具体原因:
500.0 - 发生模块或 ISAPI 错误。
500.11 - 正在 Web 服务器上关闭应用程序。
500.12 - 应用程序正忙于在 Web 服务器上重新启动。
500.13 - Web 服务器太忙。
500.15 - 不允许直接请求 Global.asax。
500.19 - 配置数据无效。
500.21 - 模块无法识别。
500.22 - 无法在托管管道模式下应用 ASP.NET httpModules 配置。
500.23 - 无法在托管管道模式下应用 ASP.NET httpHandlers 配置。
500.24 - 无法在托管管道模式下应用 ASP.NET impersonation 配置。
500.50 - RQ_BEGIN_REQUEST 通知处理期间,发生重写错误。发生配置或入站规则执行错误。

#9


php5.3 无 mssql 扩展函数组

另外你需要启用错误显示

#10


引用 9 楼 xuzuning 的回复:
php5.3 无 mssql 扩展函数组

另外你需要启用错误显示


internet选项->高级->取消“显示友好http错误信息”~

还是另有其他,请不吝赐教~

#11


我在IIS7.5建立的是虚拟目录并转为应用程序,并未建立站点~

这应该不影响我使用Zend Studio吧?

#12


php.ini 中
error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On

只有在设置了错误处理方式后,php 的错误才不会引发 500 错误(拒绝访问)

#13


引用 12 楼 xuzuning 的回复:
php.ini 中
error_reporting = E_ALL &amp; ~E_NOTICE
display_errors = On

只有在设置了错误处理方式后,php 的错误才不会引发 500 错误(拒绝访问)


我试试,先谢了~

#14


修改后,错误内容依旧~~~~~~~~~~~~~~

#15


我baidu的,可能涉及系统应用了:

http 500内部错误的解决办法! 
详见:
个人博客 一个程序员自己的博客
欢迎光临http://loveme-0617.blog.163.com    QQ:534031407 

我之前也是遇过,你按我下面的操作可以解决. 
先启动MSDTC服务,什么是MSDTC服务?显示名称:Distributed Transaction Coordinator;描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。 
CMD下net start msdtc 
结果显示“Distributed Transaction Coordinator 服务不能启动”。 
解决方法: 
把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。 
在命令行下:msdtc -resetlog 
再net start msdtc,显示服务启动成功了. 
然后右键我的电脑--管理--本地用户和组,给“IUSR_机器名”和“IWAM_机器名”两个用户设置密码,要一样比如我们都设:123。 
接着“开始”→“运行”→输入“cmd”并确定,执行以下命令: 
%SystemDrive% 
cd %SystemDrive%\Inetpub\AdminScripts 
cscript.exe adsutil.vbs set w3svc/wamuserpass 123 
cscript.exe adsutil.vbs set w3svc/anonymoususerpass 123 
看一下,行了没有?如果还不行,那么执行以下命令: 
cscript.exe synciwam.vbs -v 
然后重启IIS,命令:iisreset 
到这一步还是不行,最后在CMD下执行以下命令: 
%SystemDrive% 
cd %SystemRoot%\System32\inetsrv 
rundll32 wamreg.dll, CreateIISPackage 
regsvr32 asptxn.dll 
关闭所有的IE窗口后重新打开再执行,OK了!! 

#16


如果还是不行,参考微软的解释:
http://support.microsoft.com/kb/942031

#17


需要额外安装“SQL Server Driver for PHP”?

#18


我靠,终于报出错误来了,难道修改ini文件后不能马上应用,还有延迟?

错误如下:
Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in E:\_PHP_Test\MyTest\BL.php on line 8 Fatal error: Call to undefined function mssql_connect() in E:\_PHP_Test\MyTest\BL.php on line 8 

#19


那你设下呗:

date_default_timezone_set(PRC);

#20


感谢各位的指教,谢谢~

jt

#21