Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 如何对中断的脚本进行故障排除?_Php_Memory - Fatal编程技术网

Php 如何对中断的脚本进行故障排除?

Php 如何对中断的脚本进行故障排除?,php,memory,Php,Memory,我在表单的一部分使用plupload多文件上传程序。我可以把我所有的照片上传到服务器上。据我所知,PLupload基本上上传文件,然后在表单上放置隐藏字段。当我提交表单以创建记录时,脚本需要一段时间才能运行,最后才能输出。奇怪的是,它在47条记录左右达到某种程度的限制,然后随着HTML输出停止,不显示其余图片是否有任何变化,也不显示我的页脚 我需要一些帮助来排除我的脚本失败的原因。我在我的循环中的不同点上重复了memory\u get\u peak\u usage,整个过程中,内存似乎都是稳定的

我在表单的一部分使用plupload多文件上传程序。我可以把我所有的照片上传到服务器上。据我所知,PLupload基本上上传文件,然后在表单上放置隐藏字段。当我提交表单以创建记录时,脚本需要一段时间才能运行,最后才能输出。奇怪的是,它在47条记录左右达到某种程度的限制,然后随着HTML输出停止,不显示其余图片是否有任何变化,也不显示我的页脚

我需要一些帮助来排除我的脚本失败的原因。我在我的循环中的不同点上重复了
memory\u get\u peak\u usage
,整个过程中,内存似乎都是稳定的。我还使用了
imagedestroy()
来清除我创建的一些图像资源,以释放内存。我还增加了
set_time_limit(10)在我的循环中,以防超时

我还打开了错误报告

ini_set('display_errors',1); 
error_reporting(E_ALL);
我没有得到任何错误,只是比预期的输出少。我已经检查了Apache日志,里面什么都没有。
有人对进一步排除此问题的技术有意见吗?

Apache错误应该在http-errors.log中 在linux中,此文件位于var/log/http-error.log上
在windows中,我不知道,也不在乎。

我不知道这是否适用于此特定情况,但我要做的是,我通常创建一个包装文件“debug.php”,其中包含两行代码,然后包含不起作用的脚本,即

ini_set('display_errors', true);
error_reporting(E_ALL);

require_once('my_script.php');

这通常有助于检测由于不同原因而未显示的错误。

您是否自己托管此文件?ini_set()是否在您的php配置中?检查以确定ini_set()是启用还是禁用。@jedwards-我正在使用media temple托管。我用phpinfo检查了一下,根本没有看到ini_set()。但是,我检查了“显示错误”,它处于打开状态。我选中了“disable_functions”,但它没有值。disable_functions没有值意味着您应该能够在任何地方设置display_错误,只要您的脚本没有致命(解析)错误,您就可以了。接下来我会按照建议检查apache日志。不完全确定php是否会记录日志,所以检查
/var/log/messages
文件系统完整消息。谢谢,但今天早上检查了。没有任何帮助。@john cartwright-不知道php错误日志会去哪里。请容忍我,我是绿色的。我检查了php.ini中的错误日志,它不在那里。我检查了phpinfo(),但它没有值。我补充道;错误日志Error\u log=/logs/Error\u log到php.ini。这对我来说行吗?我的表单已设置为自动发布。如果我把它改回“debug.php”,一切还能正常工作吗?我想有一种方法可以找到答案……我不需要改变参考资料。使用1个文件,一切都正常。我现在上传55,看看是否有任何输出是在47标记。我已经打开了PHP日志记录(我想)如上所述,并在这个调试包装内运行这个。奇怪的是,我整天被限制在47条记录上,所以我一直在用50条记录做测试用例(不是55条,哎呀)。不管怎么说,这次是50分,效果很好,所以我已经升到了70分。我们将看到…不幸的是,它没有提供任何不同的输出。谢谢你的意见。下次我肯定能使用这种技术。