Zergius2
Новичок
Добрый день!
Возникла проблема на хостинге. Периодически сервер на запросы даёт ошибку 503. То картинку не отдаст, то скрипт не отдаст.. в общем в неожиданных местах. Суппорт говорит, что это из-за ошибок при выполнении PHP скриптов, сами ошибки (часть) из error log за сегодня привожу ниже.
В самом php я с горем пополам разбираюсь, но к сожалению в этих ошибках нет
Тем более, что я вижу что проблема видимо в каких то процессах, но посмотреть что это за процессы я не могу - так как нет доступа. Итак - ошибки:
maximum_execution_time в php.ini установлено 30 секунд.
Ниже привожу лист одного из них, второй такой же:
Вот такой скрипт... Свою работу он на самом деле выполняет. Ещё смущает то, что ошибки лезут кратно 15-ти минутам, но в совершенно неожиданные моменты.. Кроме того, ошибка 503 чаще всего возникает совершенно не в то время когда ошибки fastcgi... Помогите разобраться пожалуйста, в какую сторону копать?
Возникла проблема на хостинге. Периодически сервер на запросы даёт ошибку 503. То картинку не отдаст, то скрипт не отдаст.. в общем в неожиданных местах. Суппорт говорит, что это из-за ошибок при выполнении PHP скриптов, сами ошибки (часть) из error log за сегодня привожу ниже.
В самом php я с горем пополам разбираюсь, но к сожалению в этих ошибках нет

Судя по всему проблема с двумя аналогичными скриптами - pushserver.php и chatpushserver.php - оба предназначены для опроса mysql и при появлении новых данных - отдача их запросившему запросу.[Tue Feb 14 13:30:32 2012] [emerg] [client 195.248.173.114] (22)Invalid argument: mod_fcgid: can't lock process table in pid 16926
[Tue Feb 14 13:30:32 2012] [emerg] [client 195.248.173.114] (22)Invalid argument: mod_fcgid: can't lock process table in pid 17251
[Tue Feb 14 13:30:32 2012] [emerg] [client 46.203.167.186] (22)Invalid argument: mod_fcgid: can't lock process table in pid 17688
[Tue Feb 14 13:30:34 2012] [warn] [client 195.248.173.114] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Tue Feb 14 13:30:34 2012] [error] [client 195.248.173.114] Premature end of script headers: chatpushserver.php
[Tue Feb 14 13:45:07 2012] [emerg] [client 195.248.173.114] (22)Invalid argument: mod_fcgid: can't lock process table in pid 25982
[Tue Feb 14 13:45:16 2012] [emerg] [client 195.248.173.114] (22)Invalid argument: mod_fcgid: can't lock process table in pid 25999
[Tue Feb 14 13:45:16 2012] [emerg] [client 195.248.173.114] (22)Invalid argument: mod_fcgid: can't lock process table in pid 25591
[Tue Feb 14 13:45:18 2012] [warn] [client 46.203.167.186] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Tue Feb 14 13:45:18 2012] [error] [client 46.203.167.186] Premature end of script headers: pushserver.php
maximum_execution_time в php.ini установлено 30 секунд.
Ниже привожу лист одного из них, второй такой же:
PHP:
<?php
session_start();
include 'connect_db.php';
session_write_close();
$limit = 25;// number of second the script allowed to run.
$time = time();
$last_id = (int)$_POST['id'];
// цикл, проверяющий новые сообщения каждые 5 секунд
while ((time()-$time)<$limit) {
// checking if something new was added to my test table
$sql = "SELECT * FROM chat WHERE `msg_id`>".$last_id." ORDER BY `msg_id` DESC LIMIT 50";
$query = mysql_query($sql);
$rowsnm = mysql_num_rows($query); // кол-во найденых рядов
if ($rowsnm) { // если есть новые строки в бд - то обрабатываем и отдаём клиенту
$corr=0;
while ($item=mysql_fetch_array($query)) {
// пишем js-скрипт, который выполнится у клиента
// и отдаем его клиенту
}
// выбрасываем все данные и выходим, чтобы клиент смог их обработать
ob_flush();
flush();
exit;
}
// если данных нет - ждём 5 секунд
sleep(5);
}
mysql_close();
?>