PHP скрипт иногда ждет 20-30 минут, чтобы начать - PullRequest
0 голосов
/ 03 декабря 2011

У меня на сервере есть скрипт 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.

1 Ответ

0 голосов
/ 03 декабря 2011

Вы должны действительно проверить память вашего сервера - если вы загружаете больше, чем может обработать память, у вас могут быть проблемы.PHP помещает все загруженные файлы в память до того, как на самом деле их сохраняет, и если это нужно записать в файл подкачки, вы увидите описанные проблемы.

...