Да, конечно. Я хочу приурочить bugfix релиз к выходу 5.2.6, который, по идее
уже скоро.
P.S.: man patch
>> А можно написать команду, которая устанавливает patch?
> patch
я думаю человек просил подсказать какие ключи...
-d каталог от которого отсчитывать путь который указан в файле патча
(там в начале сказано к какому файлу патч должен прикладываться, команда
патч будет искать этот файл)
-pN где N - количество компонент пути который указан в файле патча
которые надо похерить
файл патча пустить на стандартный ввод этой команде
Все правильно делаете, а вот этот - http://news.php.net/php.cvs/47376
установлен ?
Если да, то нужен backtrace падения.
--
> Нет, этот патч не установлен.
Может всё таки стоит установить патч ?
Его же не просто так посоветовали ?
> Жду не дождусь переезда на Debian Linux
> (5-9 мая). Этот FreeBSD уже очень надоел.
Не факт что это поможет, с таким подходом :)
Дело не ОС.
В дебиане так же придётся руками их накладывать :)
> На самом деле получается,
> что "падает" phpfpm только если случилась пиковая нагрузка по
> пользователям и по работе внутренних скриптов сервера (которые в
> рамках моего проекта очень тяжёлые по ресурсам). Падение выражается в
> том, что phpfpm продолжает работать (судя по запущенным процессам и
> логфайлом), но nginx его уже не видит.
>
> Как решение - вижу вариант каждый час перезагружать nginx+phpfpm
> (рестарт phpfpm далее рестарт nginx). Что скажите?
Идиотизм. Как и любая попытка лечить следствие а не причину.
nginx - точно перегружать не нужно.
и для начала - прислать логи php-fpm и nginx в эти моменты.
так как в имеющихся видно только то что пхп падает,
причём достаточно вероятно по уже указанной причине
Алексей Бещёков
Да, теперь понятно.
Напонятно только как можно было написать кучу сложных программ, но при этому не
узнать что такое "diff" и не знать как пользоваться программой "patch".
> Не напрасно посоветовали поставить патч. В этом ни секунды не
> сомневаюсь. Но если я не понимаю как его поставить - то может имеет
> смысл поставить последнюю стабильную версию PHP -> (5.2.4)?
Вас обманули, последняя стабильная - это 5.2.6.
--
Wbr,
Antony Dovgal
Два клика - и у вас ссылка на чистый патч:
http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.202.2.7.2.15&r2=1.202.2.7.2.16&view=patch
Эта страница - просто интерфейс к архиву мэйл-листа, в данный мэйл-лист шлются все логи CVS.
В этом письме есть две ссылки, первая ведет на страницу диффа файла NEWS, вторая ведет на страницу самого патча:
http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.202.2.7.2.15&r2=1.202.2.7.2.16&diff_format=u
По ссылке "Patch" можно скачать патч.
Но всё еще проще: патч добавляет всего 2 строки в файл main/SAPI.c (они помечены плюсами).
------
@@ -301,6 +301,7 @@
/* SG(sapi_headers).http_response_code = 200; */
SG(sapi_headers).http_status_line = NULL;
+ SG(sapi_headers).mimetype = NULL;
SG(read_post_bytes) = 0;
SG(request_info).post_data = NULL;
SG(request_info).raw_post_data = NULL;
@@ -340,6 +341,7 @@
SG(sapi_headers).http_response_code = 200;
*/
SG(sapi_headers).http_status_line = NULL;
+ SG(sapi_headers).mimetype = NULL;
------
Цифры в строке с "@@" - это номера строк.
--
Wbr,
Antony Dovgal
Да. А также еще 120+ багфиксов: http://www.php.net/releases/5_2_6.php
Конечно. Оба.
--
Wbr,
Antony Dovgal
Разработчики бывают разные - я, например, именно этим и занимаюсь в основном =)
> Спасибо большое за объяснение, что означают содержимое патч-файла.
> Можете дать ссылку на хорошее описание синтаксиса патч-файла?
http://en.wikipedia.org/wiki/Diff
и http://en.wikipedia.org/wiki/Diff#Unified_format в частности
--
Wbr,
Antony Dovgal
Установите вышеуказанный патч.
> И ещё реже:
> > May 01 23:02:38.926223 [WARNING] fpm_stdio_child_said(), line 191: child
> > 53349 (pool default) said into stderr: "chown: not found"
Ваш скрипт наивно полагает, что запущен от root.
> Вырезки из nginx логов:
> > 2008/05/01 22:31:45 [warn] 18586#0: *10253 an upstream response is
> > buffered to a temporary file /var/tmp/nginx/fastcgi_temp/0/00/0000000000
> > while reading ups tream... 2008/05/01 23:21:42 [error] 18586#0: accept()
> > failed (53: Software caused connection abort) while accepting new
> > connection on 0.0.0.0:80
>
> Как? :)
> Я разработчик, а не администратор сервера. И лично для меня
> исправление багов ПО сервера очень неинтересное занятие.
А зачем тогда пытаетесь настраивать сервер ? Наймите администратора.
Нет, это означает max_requests == unlimited.
Может и будет работать, но с практической точки зрения смысла нет.