解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个“显示http友好错误提示”的复选框,请取消该复选框,这样您可以获得正确的错误提示。
在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了
大多数情况下,是一个网页中使用了多个@
命令(调用多个网页往往忽略了这个问题),
去掉就ok
了。
iis错误500解决方法!
综合分析上面的错误表现我们可以看出,主要是由于iwam账号(在我的计算机即是iwam_myserver账号)的密码错误造成了http
500内部错误。在详细分析http500内部错误产生的原因之前,先对iwam账号进行一下简要的介绍:
iwam账号是安装iis5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的internet信息服务。iwam账号的名字会根据每台计算机netbios名字的不同而有所不同,通用的格式iwam_machine,即由“iwam”前缀、连接线“_”加上计算机的netbios名字组成。我的计算机的netbios名字是myserver,因此我的计算机上iwam账号的名字就是iwam_myserver,这一点与iis匿名账号isur_machine的命名方式非常相似。iwam账号建立后被active
directory、iis
metabase数据库和com
应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的iwam密码
的同步工作。按常理说,由操作系统负责的工作我们大可放心,不必担心出错,但不知是bug还是其它什么原因,系统的对iwam账号的密码同步工作有时会失败,使三方iwam账号所用密码不统一。当iis或com
应用程序使用错误iwam的密码登录系统,启动iis
out-of-process
pooled
applications时,系统会因密码错误而拒绝这一请求,导致iis
out-of-process
pooled
applications启动失败,也就是我们在id10004错误事件中看到的“不能运行服务器{3d14228d-fbe1-11d0-995
d-00c04fd919c1}
”(这里{3d14228d-fbe1-11d0-995d-00c04fd919c1}
是iis
out-of-process
pooled
applications的key),不能转入iis5应用程序,http
500内部错误就这样产生了。
三.解决办法知道了导致http
500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在active
directory、iis
metabase数据库和com
应用程序中的密码。具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限
我们在使用PHP递归时,会遇到各种各样的问题,其中比较令人苦恼的是有关PHP递归返回值时出现的问题。其实细细想想这是一个很简单的问题。可就是这个简单的问题困扰了半个下午。问题出在递归函数的返回值上。这是开始写的:
代码如下:
<?php
function test($i)
{
$i -= 4
if($i < 3)
{
return $i
}
else
{
test($i)
}
}
echo test(30)
?>
这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i < 3时 return $i整个函数还是不会返回值的。对上面的PHP递归返回值函数做如下修改:
代码如下:
< ?php
function test($i)
{
$i -= 4
if($i < 3)
{
return $i
}
else
{
return test($i) //增加return, 让函数返回值
}
}
echo test(30)
?>
以上代码示例就是PHP递归返回值出现问题时的具体解决方法。
1、检查 apache的日志文件,看里面说什么,日志通常在/var/log/apache2 或者 /var/log/httpd下面;
2、在index.php打开调试开关,获得更多调试信息,在php开始位置加入
error_reporting(E_ALL)ini_set("display_errors", 1)
3、检查index.php的目录下有没有.htaccess文件,改名以后看看。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)