php 脚本 500 错误

php 脚本 500 错误

我有一个带有简单 mysql 查询的 php 脚本,SELECT它从数据库中提取了 1000 多行数据...

当我需要获取大量行时,它会多次出现 500 内部服务器错误。

当我从 unix shell 命令运行该脚本时,该脚本运行良好:

/usr/bin/php  scriptname.php

它是一个带有apache + php fcgi的服务器。

请帮忙——谢谢!

答案1

我认为你可能遇到了 Fcgi 超时。脚本运行需要多长时间?Apache 怎么error_log说?你尝试过更改FcgidBusyTimeout 指令在 Apache 配置中?

答案2

您的脚本可能超出了超时限制。您应该使用set_time_limit 函数

答案3

如何更改您的脚本,只返回一部分行(例如前 100 行),然后再提供获取下一行的可能性。

并非所有问题都可以通过一些配置参数来解决。

答案4

这可能是由于几个问题造成的,PHP 有不同的控制来避免脚本失控(最大内存和最大执行时间)。

与服务器 50x 错误相关的 3 个最常见问题是

  • 脚本已超过其最大执行时间:您之所以会看到此信息,是因为回复需要很长时间,避免这种情况的一种方法是覆盖脚本第一行中的最大执行时间(如果您知道它实际上需要的时间会超过默认的最大执行时间)
  • 脚本已使用所有可用内存:这个会快很多,可能就是你的那个,如果你的脚本需要它,它也可以被覆盖
  • 无限递归循环:这将是相当暴力的,这是最后一种情况,通常是前两种情况之一,所以如果两种解决方案都不起作用,那么这是一种可能的情况

祝你调试顺利!

相关内容