我有一个包含大约25个输入的表单以及处理它的代码。最后一次以任何方式编辑代码是3周前。我随机开始重置连接问题。为了调查,我开始删除代码的部分以找到有罪的部分(剪切部分,刷新,重复)。一旦我把它缩小到一个特定的部分(当我把它切掉时,没有发生错误),我开始用罪魁祸首部分的较小部分重复这个过程。最后,我把整个部分都注释掉了。仍然有错误。然后我删除了注释掉的部分,没有错误!
这使我得出结论,错误不在我的代码中,而是最近对服务器配置的一些更改(我使用GoDaddy托管)或类似的东西。有关什么可能导致此错误的任何建议?我从未删除代码中的注释并修复了错误。
更多信息:表格最初正确加载。单击任何按钮都会给出错误,但代码在错误发生之前完全进行了操作(我在/输出中执行了一些文件,因此我可以看到它正在工作)。这甚至发生在“全部清除”按钮上,该按钮跳过我上面提到的部分,只是重新加载表格。
我没有使用任何数据库交互。该脚本确实利用了Facebook和Twitter API。
我真的不知道如何从这一点开始。如果有必要,我愿意发布整个文件中的代码,但我的调查显示没有意义。我还可以提供违规页面的链接。
更新:我注释掉了除HTML表单本身输出之外的所有代码。根本没有处理代码。只需一个函数即可输出表单。单击任何按钮会导致重置连接。但是,如果我删除这个注释掉的代码,我不会重置连接,表单只是重新加载。
更新#2。我将网站上传到另一台主机。代码运行正常,没有任何问题。
更新#3。经过详尽的检查,我已经确定问题的原因是以下函数调用:
preg_replace('/\b(\w)/e', 'strtoupper("$1")', $_POST['dessert_name'])
如果我注释掉这一行,我会收到连接重置错误...如果我删除它,脚本运行完美。
答案 0 :(得分:1)
您需要在php.ini中增加php超时限制
根据我的经验,这几乎总是暂停。
max_execution_time = 60
或在脚本顶部添加
set_time_limit(60);