我的服务器上有一个PHP脚本,主要是从上传中获取文件并将其移动到位。它通常工作正常,但偶尔,脚本将不会启动20-30分钟。在等待期间,整个上传的文件将位于tmp文件夹中,因此数据传输似乎已完成。以下是Apache访问日志的摘录,指示脚本的POST(来自Android应用程序)......
[29/Nov/2011:11:21:55 -0500] "POST /submit.php HTTP/1.1" ...
但是,此条目直到11:43左右才会显示在访问日志中,并且会被来自11:43:42和12:00:02的其他页面请求所包围。这使我相信在脚本执行之前不会写入条目,但它是在提交时写入的。这是错误日志,我正在编写脚本中的事件......
[Tue Nov 29 11:43:19 2011] Script started: Nov 29, 2011 11:43:19
[Tue Nov 29 11:43:19 2011] Audio file provided
[Tue Nov 29 11:43:19 2011] Timestamp provided
[Tue Nov 29 11:43:19 2011] Defaults set
[Tue Nov 29 11:43:19 2011] Connected to database
[Tue Nov 29 11:43:19 2011] Database selected
[Tue Nov 29 11:43:19 2011] Query successful
[Tue Nov 29 11:43:19 2011] 551: ID set
[Tue Nov 29 11:43:19 2011] 551: Audio file moved
[Tue Nov 29 11:43:19 2011] 551: Algorithm succeeded
[Tue Nov 29 11:43:19 2011] 551: Algorithm query succeeded
[Tue Nov 29 11:43:19 2011] 551: Photo type identified
[Tue Nov 29 11:43:20 2011] 551: Photo and thumbnail saved
[Tue Nov 29 11:43:20 2011] 551: Cache cleared
[Tue Nov 29 11:43:20 2011] Script finished: Nov 29, 2011 11:43:20
知道什么会导致PHP脚本长时间不执行,或者我应该采取什么样的日志来查找?服务器正在运行Ubuntu 10.04
,Apache 2.2.14
和PHP 5.3.2
。
答案 0 :(得分:0)
您应该检查服务器的内存 - 如果上传的内存超过内存可以处理的内容,则可能会出现问题。 PHP将所有上传的文件放入内存中,然后才真正保存它们,如果必须首先将其写入交换文件,您将看到这些问题。