Ajax错误 - 一个很长的PHP脚本后的0

时间:2014-02-19 12:43:47

标签: php jquery ajax

我正在使用jquery ajax将位于服务器上的文件(csv文件)的url发送到我的php脚本以便处理它。

csv文件包含电话呼叫。如果我有一个甚至10.000个电话的文件,一切都还可以。但是,如果我尝试使用类似20000调用的大文件,那么我会得到一个Ajax错误0。我用firebug检查服务器响应,但我没有。

这种行为发生在像php脚本结束的40分钟之后。那么为什么我只在大文件上出现这个错误?它与apache,mysql或服务器本身有关吗?任何能够提供帮助的人都将成为我个人的英雄,因为这让我疯狂。

我需要一种方法来弄清楚究竟发生了什么,但是firebug不会返回服务器响应。我还能找到其他任何方式吗?

我检查了php错误日志,它没有报道此事

提前致谢。

3 个答案:

答案 0 :(得分:3)

脚本可能已超时:

查看你的php.ini文件

max_execution_time
max_input_time  ;# for the max time an input can be processed

如果你的PHP.ini取决于你的环境,更多信息:http://php.net/manual/en/ini.php

答案 1 :(得分:0)

检查:

<强> max_input_time设置

这设置允许脚本解析输入数据的最长时间(以秒为单位),如POST和GET。它是从接收服务器上的所有数据到脚本执行开始的时刻开始计算的。

<强>的max_execution_time

这将设置允许脚本在解析器终止之前运行的最长时间(以秒为单位)。这有助于防止编写不良的脚本占用服务器。默认设置为30.从命令行运行PHP时,默认设置为0.

另外

您的Web服务器可能有其他超时配置,也可能会中断PHP执行。 Apache有一个Timeout指令,IIS有一个CGI超时功能。两者都默认为300秒。有关具体详细信息,请参阅Web服务器文档。

答案 2 :(得分:-1)

首先通过在php文件的顶部放置代码来启用php错误。

error_reporting(E_ALL);

然后正如Shamil在这个答案中解释的那样,检查你的php的max_execution_time设置。

要检查max_execution时间,请打开php.ini文件并搜索该文件,然后将其更改为最大值,例如一小时(3600)。

我希望这可以解决您的问题。

谢谢

相关问题