Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行简单PHP循环程序时出现500内部服务器错误?_Php_Loops_While Loop - Fatal编程技术网

执行简单PHP循环程序时出现500内部服务器错误?

执行简单PHP循环程序时出现500内部服务器错误?,php,loops,while-loop,Php,Loops,While Loop,上面的php程序导致500内部服务器错误。问题是,我已将时间限制设置为600->10分钟。我预计它将运行10分钟,每次30秒,它将运行while循环1次,并将活动保持在10分钟。但是,它在大约2分钟时返回500个内部服务器错误。根本原因是什么/如何解决问题?谢谢我在自己的基于Linux的web服务器上编写了您的代码。我使用Linux服务器而不是IIS只是因为我认为它会给我更多的调试信息。 你的代码对我来说很好用。它没有超时。然后我不得不说,有一些特定于IIS的东西。我会检查事件日志。一个500错

上面的php程序导致500内部服务器错误。问题是,我已将时间限制设置为600->10分钟。我预计它将运行10分钟,每次30秒,它将运行while循环1次,并将活动保持在10分钟。但是,它在大约2分钟时返回500个内部服务器错误。根本原因是什么/如何解决问题?谢谢

我在自己的基于Linux的web服务器上编写了您的代码。我使用Linux服务器而不是IIS只是因为我认为它会给我更多的调试信息。 你的代码对我来说很好用。它没有超时。然后我不得不说,有一些特定于IIS的东西。我会检查事件日志。一个500错误应该有一些有趣的地方。要访问事件日志():

  • 从开始菜单中,单击运行。在“打开”框中,键入
    eventvwr
    。单击“确定”
  • 事件查看器列在“系统工具”节点下
我建议,如果您需要此程序等待10分钟,可以进入PHP.ini文件(如果有问题的话)并将最大执行时间提高很多,或者作为替代方法,让页面静止10秒钟,然后使用
header()
重新加载同一页面。这种方法的优点是,您不会因为旋转和锁定所有内容而浪费额外的CPU周期。您只需重新查询服务器并使用持久cookie:

<?php
set_time_limit(600);
while (1){
usleep(30000000);
}
?>

我在自己的基于Linux的web服务器上编写了您的代码。我使用Linux服务器而不是IIS只是因为我认为它会给我更多的调试信息。 你的代码对我来说很好用。它没有超时。然后我不得不说,有一些特定于IIS的东西。我会检查事件日志。一个500错误应该有一些有趣的地方。要访问事件日志():

  • 从开始菜单中,单击运行。在“打开”框中,键入
    eventvwr
    。单击“确定”
  • 事件查看器列在“系统工具”节点下
我建议,如果您需要此程序等待10分钟,可以进入PHP.ini文件(如果有问题的话)并将最大执行时间提高很多,或者作为替代方法,让页面静止10秒钟,然后使用
header()
重新加载同一页面。这种方法的优点是,您不会因为旋转和锁定所有内容而浪费额外的CPU周期。您只需重新查询服务器并使用持久cookie:

<?php
set_time_limit(600);
while (1){
usleep(30000000);
}
?>

我在一个LAMP安装上遇到了类似的问题,其中PHP在安全模式下运行

因此,我的建议是检查PHP是否在安全模式下运行。如果是这种情况,请尝试使用sleep功能(不过,如果您想循环每个0.001s,它将没有帮助)

还要注意的是,usleep直到PHP5才在PHPWindows平台上工作


我知道此线程很旧,但我希望此检查将帮助其他线程。

我在一个LAMP安装上遇到了类似的问题,其中PHP在安全模式下运行

因此,我的建议是检查PHP是否在安全模式下运行。如果是这种情况,请尝试使用sleep功能(不过,如果您想循环每个0.001s,它将没有帮助)

还要注意的是,usleep直到PHP5才在PHPWindows平台上工作


我知道此线程很旧,但我希望此检查将有助于其他线程。

这是由于内存消耗过多造成的吗?感谢您检查错误日志?您的浏览器和PHP之间可能不止PHP的执行时间限制。我使用的是IIS服务器,它只记录test.PHP状态500。。或者php中是否有任何错误日志?亚马逊免费网络托管服务是否由高内存消耗引起?感谢您检查错误日志?您的浏览器和PHP之间可能不止PHP的执行时间限制。我使用的是IIS服务器,它只记录test.PHP状态500。。或者php中有任何错误日志吗?亚马逊免费网络托管服务从我的insepction,睡眠应该是根本问题,谢谢。从我的insepction,睡眠应该是根本问题,谢谢。