[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прерывается выполнение скрипта.
olgatcpip
Здравствуйте.

У мен уже как давно такое.....
Периодически скрипт перестает работать. И все. Смотрю лог ошибок. Есть всякие такие
Цитата
[Tue Mar 16 04:20:34 2010] [error] [client 89.253.22.116] PHP Warning:  file_get_contents() [<a href='function.file-get-contents'>function.file-get-contents</a>]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ymqw7289/www.xxx.ru/public_html/whois_file_parser/site_page_parser.php on line 23, referer: http://xxx.ru/whois_file_parser/part_2.php
[Tue Mar 16 04:20:34 2010] [error] [client 89.253.22.116] PHP Warning:  file_get_contents(http://FASHIONFACE.RU) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: Success in /home/ymqw7289/www.xxx.ru/public_html/whois_file_parser/site_page_parser.php on line 23, referer: http://xxx.ru/whois_file_parser/part_2.php
[Tue Mar 16 04:20:34 2010] [error] [client 89.253.22.116] PHP Notice:  Undefined offset:  0 in /home/ymqw7289/www.xxx.ru/public_html/whois_file_parser/site_page_parser.php on line 30, referer: http://xxx.ru/whois_file_parser/part_2.php
НО из-за этого же не происходит остановка?

Причем это происходит переиодически..
Сам скрипт работает очень долго например в последнем случае 4 часа.....

Как узнать причину?????? не могу понять. Поможет ли мне помочь системщика? может с ним перетереть Но я не знаю о чем его попросить.



Спустя 3 минуты, 3 секунды (16.03.2010 - 11:00) Nikitian написал(а):
Включите логирование запрашиваемых документов. Похоже пытается загрузить то, чего нет.

Спустя 28 минут, 24 секунды (16.03.2010 - 11:29) olgatcpip написал(а):
Nikitian а что это? как включить?

Спустя 10 минут, 42 секунды (16.03.2010 - 11:39) Nikitian написал(а):
/home/ymqw7289/www.xxx.ru/public_html/whois_file_parser/site_page_parser.php on line 23

$fp=fopen('log.txt','a');
fwrite($fp,$url.' '.date('H:i:s d.m.Y'));
fclose($fp);

где $url - то, что передаёте в file_get_contents().

Спустя 5 часов, 51 минута, 25 секунд (16.03.2010 - 17:31) olgatcpip написал(а):
ну так я знаю что он пытается загрузить и чего нет
Цитата
PHP Warning:  file_get_contents(http://FASHIONFACE.RU) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream

http://fashionface.ru/ - нет такого сайта

Вопрос то с этим делать и разве из-за этого останавливается скрипт?

Спустя 29 минут, 22 секунды (16.03.2010 - 18:00) Игорь_Vasinsky написал(а):
видимо информер, либо отключенный, либо сайт не работает

а вообще можно было и код привести к более читабельному виду.

Спустя 2 минуты, 13 секунд (16.03.2010 - 18:02) Игорь_Vasinsky написал(а):
да просто он пытается грузить то чего нету и то чего тоже быть соответственно не может.

Спустя 1 час, 39 минут, 58 секунд (16.03.2010 - 19:42) olgatcpip написал(а):
Игорь_Vasinsky
Это понятно, но это и есть причина разрыва? как сделать чтоб несмотря на эту ошибку раба продолжалась?

Спустя 31 минута, 40 секунд (16.03.2010 - 20:14) olgatcpip написал(а):
$log = "\r\n".'Goto sleep on 5 seconds.';//ob_get_contents(); ob_flush();flush(); ob_end_flush();
fwrite($log_file,$log);
sleep(5);
$log = "\r\n".'*';
вот вкратце мой код

и отметила, что Goto sleep on 5 seconds пишется, а * нет!
Что может произойти, пока спит скрипт????

смотрю в лог ошибок. до того как скрипт ушел сапать, до того как вызвалась функци слиип, 5 сек минут назад была ошибка (воринг) и скрипт не остановился, а продолжил, и пошел спать. И не проснулся.....

Спустя 5 часов, 51 минута, 9 секунд (17.03.2010 - 02:05) Игорь_Vasinsky написал(а):
а зачем его использовать если он бесполезен...

Спустя 39 минут, 55 секунд (17.03.2010 - 02:45) AHDPEu написал(а):
Очень плохая идея конечно, но раз Вам без разницы - грузит или нет с какого то сайта. Можно поставить собаку у вызова функции. Для примера @fwrite($log_file,$log);
@sleep(5);

Тогда не смотря на ошибки, скрипт будет продолжать работать.
Но будет ли правильно работать - обещать не могу rolleyes.gif

Спустя 2 часа, 5 минут, 51 секунда (17.03.2010 - 04:51) olgatcpip написал(а):
Смею заметить, что на fwrite и sleep ошибки не возникает! Но я поставлю собачки таки.

Спустя 21 минута, 49 секунд (17.03.2010 - 05:13) olgatcpip написал(а):
Короче... все куда хуже...

Ошибок уже никаких нет, но уходит в sleep и через некоторое указаное время не просыпается! А потом Хоп! проснулся и продолжил, потом опять остановился и даже не на слиип! sad.gif

Спустя 2 часа, 16 минут, 2 секунды (17.03.2010 - 07:29) Alex VoDevil написал(а):
2 olgatcp: Ну раз уж вам тут и так насовали множество безполезных постов, позвольте и я свой вклад внесу smile.gif Вы же говорите что скрипт не умирает а просто впадает в кому, из которой через какое то время выходит, так? Тогда: Вы хорошо знакомы с поведением функции file_get_contents при обращении к URL? Я нет, но предпологаю, может быть, при неудачной попытке что-то прочитать она вызываает таймаут для того чтоб обратиться к тому же URL еще раз и еще раз и... И так в течение какого-то времени. Как только время отведенное на попытки заканчивается - скрипт продолжает выполняться. Может быть такое? Или может просто пинг плохой? Вы пробовали загрузить в браузер какой нибудь сайт, который хостится в США в то время как у вашего провайдера по тем или иным причинам происходит потеря пакетов из внешней сети? Я видел подобное однажды вживую. Поскольку потеря пакетов то только частичная - браузер не здается и тянет килобайт по 5-10 в минуту smile.gif Та же история и с file_get_contents, она же может считывать страницу хоть сутки: сервер страницу отдает - значит продолжаем, а уж с какой скоростью отдает, это ей по сути всеравно.

Спустя 11 минут, 54 секунды (17.03.2010 - 07:41) olgatcpip написал(а):
Чтож вы все так к file_get_contents прицепились!?

Это я написала. чтобы вы поняли, что ошибка была давно а не примерно в то время, когда скрипт впал в кому.

Раньше я крогда наблюдала это, тупо насильно перезапускала, а файл куда писался лог удаляла. Т.о. о том, что происходил авход из комы не наблюдала. Т.к. при отсутствии файла, в который он пишет лог вызывалась как раз та ошибка, при которой скрипт вырубался, даже если выходил из комы. Но я этого не наблюдала.

Но вчера я не стала удалять лог-файл. И увидела, что из комы он вышел таки! УРА.! НО таки через некоторое время опять впал в кому! Никого не предупредил, ошибок НИКАКИХ!

Может ли на такое поведение повлиять нагрузка сервера.... И как? какм не это выяснить? Какой вопрос задать системщикам? если это может помочь?

Спустя 9 часов, 11 минут, 57 секунд (17.03.2010 - 16:53) Nikitian написал(а):
Сравните параметр echo ini_get('default_socket_timeout'); со временем автовыхода из комы. Подозреваю, что затык таки в file_get_contents, которые упирается в таймаут получения данных. Тут могу посоветовать перейти к curl, сменить данный параметр на что-то меньшее, либо юзать такие вещи:

$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1
)
)
);

file_get_contents("http://example.com/", 0, $ctx);

//Взято отсюда

Спустя 2 часа, 3 минуты, 30 секунд (17.03.2010 - 18:56) olgatcpip написал(а):
Вот вам новые подробности
Цитата
[Wed Mar 17 14:16:13 2010] [error] [client 84.22.142.80] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in ....
Память засоряется....
и никто её бедную не очищает....
А этой ошибки не было в логах ошибок, потому что.. ну точно не знаю, но на сервер апатч перезапускался каждые 30 мин. Думаю из-за этого не видно было этой ошибки.

Теперь понаставила unset() где только могла..... Теперь жду результатов....

Спустя 8 дней, 2 часа, 15 минут, 53 секунды (25.03.2010 - 21:12) olgatcpip написал(а):
Вот ... спрвилась с задачей!

ммм... не знаю как вам обрисовать картину...

короче! Помимо того, скрипт прерывался из-за Allowed memory size (это я исправила), так ещё и по другой причине, он тупо останавливался...

Могу поспорить, что никто не догадаляся о причине (вы же меня не спросили об этом ?)

барабанная дробь! брбрбрбрбрбрррррр (смакую...)
Предистория.... (мне очень посмаковать хочется..)

Было замечено, что загадочным образом, мой скрипт останавливался примерно в 4 часа ночи... Первое что приходило в голову, так это то, что время выполнения скрипта ограничено.. (А вы бы о чем подумали?)

Но в ходе пыток системного администратора, выяснилось, что нет никакого ограничения.......

Затем я очень долго пытала сис админа, что же происходит с сервером примерно в 4 часа ночи..... Про нагрузку процессора спрашивала, требовала чтоб он наблюдал за ней.... Он молодец. Не стал начами не спать, а какие-то картинки мне сбросил про нагрузку процессора на сервере..... И там были большие скачки в загружености примерно в 4 часа ночи. Причем не плавно (плавно бы робъяснялись, что мой скрипт там память жрет, ещё чего-нить и т.п.) А тут резко!

В ходе пыток, выяснилось, что примерно в это время делается бекап на сервере всех сайтов. Прикольно... и что из-за этого типа не нужные, мешающие процесы вырубает? Ан нет! Зачем?

В ходе следующей партии пыток выяснилось, что..... примерно в это же время, происходит перезагрузка апача! Опа!
А у меня работает через курл и .. короче не без апача!

Далее пошли уговоры.... вопросы..... типа "А может и не нужно его перезагружать?" Конечно, нужно... И я это понимаю, но что делать то????
Все хана моим стараньям!
Ан нет! Сис админ молодец! За что ему и спасибо. Он организовал мягкую перезагрузку апача и все! HAPPY END

Могу принимать поздравления smile.gif

Спустя 14 минут, 1 секунда (25.03.2010 - 21:26) twin написал(а):
Конгениально! овация!
user posted image user posted image user posted image user posted image user posted image user posted image
букеты роз на сцену!
user posted image user posted image user posted image
Толпа поклонников, умоляющих о малюсеньком автографе!
Ольга, ты молодца. Удивительная девушка. Я начинаю тихо скулить от зависти. smile.gif

Спустя 17 минут, 58 секунд (25.03.2010 - 21:44) olgatcpip написал(а):
twin, скулить от зависти? Это ты шутишь? Я неделю если не больше доканывала (по-другому никак не сказать) всех, и админа, а вас на форуме, и друзей, и .. всех. Так скоро и лешиться друзей можно...
эээххх Но результат приятен. На самом деле это не только моя маленькая победа, это все, кто меня окружал наталкивал на мыслю ту или иную...

Спасибо, кланюсь laugh.gif

Спустя 10 минут (25.03.2010 - 21:54) twin написал(а):
Я завидую тому, кого ты осчастливишь...
И вязать, и готовить... и сервера поднимать...
В избу не пробовала горящую?

Спустя 6 минут, 56 секунд (25.03.2010 - 22:01) olgatcpip написал(а):
smile.gif нет, как-то надесь не будет нужды...

Спустя 13 минут, 49 секунд (25.03.2010 - 22:15) sergeiss написал(а):
Проздрамлям-с! И с тем, что причину нашла, и с тем, что уговорила сис-админа smile.gif Очаровала его, наверное, а? Признавайся! wink.gif Воспьзовалась тем, что весна на дворе... И он не мог девушке отказать в такой реально мелкой просьбе...

Спустя 11 минут, 58 секунд (25.03.2010 - 22:27) olgatcpip написал(а):
Очаровала?? скорее заколе**ла smile.gif Ах как хочется таки воспользоваться весной, не могу, работа, знаете ли + мои из воздуха проблемы... нет. не скоро мне весной пользоваться.. smile.gif

Спустя 4 минуты, 41 секунда (25.03.2010 - 22:31) Nikitian написал(а):
Что-то не пойму: зачем каждый день рестартить апач? У меня он может раз в пару месяцев перезапускается при обновлении, но каждый день?...

Спустя 3 минуты, 59 секунд (25.03.2010 - 22:35) olgatcpip написал(а):
Nikitian оооо... это конечно вопрос не к прогаммисту, но отвечу.
Я знаю только одну причину - логи чтобы архивировать, вторую мне называли, но я не поняла rolleyes.gif

Спустя 1 день, 15 часов, 31 минута, 15 секунд (27.03.2010 - 14:07) Alex VoDevil написал(а):
2 olgatcpip: Поздравляю wink.gif У вас твитер есть? ))

Спустя 26 минут, 53 секунды (27.03.2010 - 14:34) olgatcpip написал(а):
Alex VoDevil, я Вас не понимать. Что есть твитер?


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.