php脚本停止执行并且没有显示错误

php脚本停止执行并且没有显示错误,php,networking,web-scraping,disconnect,Php,Networking,Web Scraping,Disconnect,我有一个php脚本,它可以抓取web并将抓取的数据插入数据库。 此php脚本运行很长时间(大约几个小时)。 有时,在脚本运行很长时间后,php脚本停止执行,并且没有显示错误。 这个问题不是由于脚本的执行时间造成的,因为我将php脚本的执行时间设置为无限量 ini_set('max_execution_time', 0); 我还将php脚本设置为显示所有错误 ini_set('display_errors',1); error_reporting(E_ALL); 但是在php脚本停止执行后,我

我有一个php脚本,它可以抓取web并将抓取的数据插入数据库。
此php脚本运行很长时间(大约几个小时)。
有时,在脚本运行很长时间后,php脚本停止执行,并且没有显示错误。
这个问题不是由于脚本的执行时间造成的,因为我将php脚本的执行时间设置为无限量

ini_set('max_execution_time', 0);
我还将php脚本设置为显示所有错误

ini_set('display_errors',1);
error_reporting(E_ALL);
但是在php脚本停止执行后,我没有收到任何错误。
我还在其他几台计算机上运行了该脚本,但仍然遇到相同的问题,因此问题也不是由于服务器限制造成的

我研究了这个问题,显然这是一个网络问题。
php脚本停止与服务器通信并断开与服务器的连接(可能是因为php脚本发送了http请求,但没有收到任何响应)

我的问题是:


是否有任何方法可以通过php脚本检查网络断开,并在网络断开时恢复脚本并尝试重新连接

首先,“设置时间限制”是使用该功能的更好方法,我会检查您服务器的规则和规定。如果它是您的专用服务器,那就太好了。如果您租用的是VPS或其他类型的服务器,它们很可能有防止误用的限制,如垃圾邮件等。确保您在他们的规则范围内并从那里开始。

可能不是网络问题,而是内存溢出…“100000”不是“无限”。现在是27点77分。如果您想要无限制,它应该是
0
。PHP执行无限制计时的唯一方法是参数为0。100000相当于27.7小时。检查您的环境,我在virtualbox上有这个,只需要重新启动所有东西,包括主机。有时脚本会停止执行,有时它会工作并完全完成执行。如果我的服务器有限制以防止误用,该脚本永远不会正常工作。我还在其他几台计算机上运行了该脚本,但仍然遇到相同的问题。我可能只是没有收到http请求的响应,php脚本只是停止了执行。不确定您在做什么,但是,您也可能从您试图处理的页面的服务器上收到问题。您的结构可能很像拒绝服务攻击。这不太可能是拒绝服务攻击,但即使是,我仍然希望有一些代码尝试重新启动脚本,或检测正在发生的问题。