1)外部资源超时。
2)通过的问题错了文件和目录权限触发。
3)在.htaccess文件错误配置。
解决方法如下。
外部资源超时,有时候,Web服务器可能需要响应从远程服务器来完成处理来自客户端的请求。有可能的是,这些外部资源可能会超时的情况。这可以是一个PHP超时。在这种情况下,Web服务器将返回一个500内部服务器错误。我们可以修正通过增加超时值或设置其他适当的超时选项这个错误让远程服务器将不会返回超时错误,而是等待处理的请求。
通过错误的文件和目录权限问题引发,这是最内部服务器错误的原因。如果多了一个文件或处理客户端请求所需目录的权限设置错误,则返回错误的服务器访问。PHP脚本错误的权限是这类问题的例子。这个问题可以通过重新对文件或目录的正确权限进行固定。
配置错误的.htaccess文件,500内部服务器错误的另一个常见原因是在.htaccess文件中配置错误。在URL重写的错误可导致,但往往不是500内部服务器错误。.htaccess文件中查找和改正错误配置可以解决这个问题。
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文件,改名以后看看。
我们在使用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递归返回值出现问题时的具体解决方法。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)