我正在使用jquery ajax将位于服务器上的文件(csv文件)的url发送到我的php脚本以便处理它。
csv文件包含电话呼叫。如果我有一个甚至10.000个电话的文件,一切都还可以。但是,如果我尝试使用类似20000调用的大文件,那么我会得到一个Ajax错误0。我用firebug检查服务器响应,但我没有。
这种行为发生在像php脚本结束的40分钟之后。那么为什么我只在大文件上出现这个错误?它与apache,mysql或服务器本身有关吗?任何能够提供帮助的人都将成为我个人的英雄,因为这让我疯狂。
我需要一种方法来弄清楚究竟发生了什么,但是firebug不会返回服务器响应。我还能找到其他任何方式吗?
我检查了php错误日志,它没有报道此事
提前致谢。
答案 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)。
我希望这可以解决您的问题。
谢谢