FPM в официальном SVN

26 views
Skip to first unread message

Antony Dovgal

unread,
Dec 2, 2009, 10:13:39 AM12/2/09
to highloa...@googlegroups.com
Привет!

Я добавил FPM в официальный SVN-репозиторий PHP в виде отдельного SAPI.
Специально для этого был создан новый бранч - PHP_5_3_FPM, который базируется на PHP_5_3.

Забрать из SVN можно следующим образом:
svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_3_FPM php_5_3_fpm

Собирать следующим образом:
./configure --enable-fpm

Если libevent стоит где-то в нестандартном пути, то добавьте:
--with-libevent-dir=<libevent prefix>

Остально всё как обычно.


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

Цель всего этого - довести FPM до полностью рабочего состояния и где-то в районе
5.3.3/5.3.4 включить в официальную поставку.

--
Wbr,
Antony Dovgal
---
http://pinba.org - realtime statistics for PHP

Konstantin Belov

unread,
Dec 2, 2009, 1:34:47 PM12/2/09
to highloa...@googlegroups.com
супер! Погоняю на свой демо серверах ;)

Khazret Sapenov

unread,
Dec 2, 2009, 7:13:31 PM12/2/09
to highloa...@googlegroups.com
Спасибо, Антоний!
Обязательно попробуем.
Отзывы, как я понял, можно кидать в эту ветку?

2009/12/2 Konstantin Belov <belo...@gmail.com>

sta...@newmail.ru

unread,
Dec 2, 2009, 7:26:55 PM12/2/09
to Antony Dovgal
Здравствуйте.

хм, это что означает что группа азработчиков признала этот патч?

Alexey A. Rybak

unread,
Dec 3, 2009, 2:18:06 AM12/3/09
to highloa...@googlegroups.com
2009/12/3 <sta...@newmail.ru>:

>
> Здравствуйте.
>
> хм, это что означает что группа азработчиков признала этот патч?

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

те, кто в танке могут перечитать письмо дримкэта на этот лист, которое
было отправлено примерно 10 дней назад, где он пишет, что вы, де,
русские, сплошь сишники, давайте становитесь мейнтенерами, а то у нас
совсем тут голяк.

--

wbr,
fisher

sta...@newmail.ru

unread,
Dec 3, 2009, 2:33:29 AM12/3/09
to Alexey A. Rybak
Здравствуйте.

Видел я то письмо.
Просто непонятно как то, патч попадает в оф репозиторий и в то же
время ведется разработка сторонними разработчиками.
Честно говоря удивило что он туда вообще попал. Но, с другой строны и
порадовало - может доработают наконец до чего то стабильного и
удобного.
Я увы не сишник. Так что мне остается только наблюдать.

Alexey Romanenko

unread,
Dec 3, 2009, 4:03:21 AM12/3/09
to highloa...@googlegroups.com
В том то и дело, что это уже не патч, а отдельный sapi для php

2009/12/3 <sta...@newmail.ru>:

--

------
Wbr, Alexey

Alexey A. Rybak

unread,
Dec 3, 2009, 4:43:13 AM12/3/09
to highloa...@googlegroups.com
2009/12/3 <sta...@newmail.ru>:

>
> Здравствуйте.
>
> Видел я то письмо.
> Просто непонятно как то, патч попадает в оф репозиторий и в то же
> время ведется разработка сторонними разработчиками.

она почти не ведется

--

wbr,
fisher

Antony Dovgal

unread,
Dec 3, 2009, 5:52:54 AM12/3/09
to highloa...@googlegroups.com
On 03.12.2009 03:13, Khazret Sapenov wrote:
> Спасибо, Антоний!
> Обязательно попробуем.
> Отзывы, как я понял, можно кидать в эту ветку?

Конечно.
Как говорится, "комменты читаю".

Antony Dovgal

unread,
Dec 3, 2009, 5:54:15 AM12/3/09
to highloa...@googlegroups.com
On 03.12.2009 03:26, sta...@newmail.ru wrote:
> Здравствуйте.
>
> хм, это что означает что группа азработчиков признала этот патч?

Вы о какой группе разработчиков говорите?
FPM? PHP?

Antony Dovgal

unread,
Dec 3, 2009, 5:56:42 AM12/3/09
to highloa...@googlegroups.com
On 03.12.2009 10:33, sta...@newmail.ru wrote:
> Здравствуйте.
>
> Видел я то письмо.
> Просто непонятно как то, патч попадает в оф репозиторий и в то же
> время ведется разработка сторонними разработчиками.

Как только что-то принимается в офиц. репозиторий, разработчики
автоматически перестают быть сторонними =)

si

unread,
Dec 3, 2009, 7:32:11 AM12/3/09
to highload-php-ru

> порадовало  -  может  доработают  наконец  до  чего  то  стабильного и
в каком месте сейчас php-fpm не стабильный ?

sta...@newmail.ru

unread,
Dec 3, 2009, 9:57:26 AM12/3/09
to si
Здравствуйте.

почему то при большом количестве fopen пул виснет
выяснять что там не так увы времени нету

sta...@newmail.ru

unread,
Dec 3, 2009, 9:55:42 AM12/3/09
to Antony Dovgal
Здравствуйте.

признала о официальной
разрабатывает о неофициальной
может я конечно чего то не знаю но в оф репу с улицы же не пустят

Kayo Ayanami

unread,
Dec 3, 2009, 10:15:28 AM12/3/09
to highloa...@googlegroups.com
ну пока он не в главной ветке, так что :-]

3 декабря 2009 г. 19:55 пользователь <sta...@newmail.ru> написал:



--
-------------------------------------------------------------
Kayo Ayanami

jabber: ka...@jabber.ru
gtalk-xmpp: kayo....@gmail.com
ya-xmpp: kayo-...@ya.ru
sourceforge: phoe...@users.sf.net
luaforge: phoe...@users.luaforge.net

Antony Dovgal

unread,
Dec 3, 2009, 10:14:20 AM12/3/09
to highloa...@googlegroups.com
On 03.12.2009 17:55, sta...@newmail.ru wrote:
> Здравствуйте.
>
> признала о официальной
> разрабатывает о неофициальной
> может я конечно чего то не знаю но в оф репу с улицы же не пустят

Проблема в том, что разработчиков как таковых нет.
Андрею больше не интересно, dreamcat4 сказал, что "он свою работу закончил" (с),
больше никого из разработчиков я не знаю.

Поэтому некая "неофициальная группа разработчиков" - это на данный момент я,
как это не прискорбно.
А меня пускать в офиц. репозиторий не надо, я там и так есть =)

Alexey A. Rybak

unread,
Dec 3, 2009, 10:40:28 AM12/3/09
to highloa...@googlegroups.com
> Поэтому некая "неофициальная группа разработчиков" - это на данный момент я,
> как это не прискорбно.
> А меня пускать в офиц. репозиторий не надо, я там и так есть =)

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

--

wbr,
fisher

sta...@newmail.ru

unread,
Dec 3, 2009, 11:24:22 AM12/3/09
to Antony Dovgal
Здравствуйте.

> А меня пускать в офиц. репозиторий не надо, я там и так есть

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

sta...@newmail.ru

unread,
Dec 3, 2009, 11:28:24 AM12/3/09
to Alexey A. Rybak
Здравствуйте.

мм я давно не слежу за командой пхп
но как помню там давно ушел идейный вдохновитель всего и вся в пыхе
был бы он может и фпм уже был в оф составе

все таки возможность выноса обработчика на отедльный сервер - это много стоит

кстати, Алексей надеюсь и блитц таким станет)

а вообще все что делается - к лучшему, и в нынешнем виде фпм хорошая
штука.

Antony Dovgal

unread,
Dec 3, 2009, 11:38:20 AM12/3/09
to highloa...@googlegroups.com
On 03.12.2009 19:28, sta...@newmail.ru wrote:
> Здравствуйте.
>
> мм я давно не слежу за командой пхп
> но как помню там давно ушел идейный вдохновитель всего и вся в пыхе

Что-то вы путаете.

> был бы он может и фпм уже был в оф составе

Причем тут Расмус?

sta...@newmail.ru

unread,
Dec 3, 2009, 1:25:57 PM12/3/09
to Antony Dovgal
Здравствуйте.

я давно не слежу за командой пхп

может что то и путаю

si

unread,
Dec 3, 2009, 1:57:25 PM12/3/09
to highload-php-ru

> почему то при большом количестве fopen пул виснет
> выяснять что там не так увы времени нету
за вас никто ваши проблемы решать не будет

sta...@newmail.ru

unread,
Dec 3, 2009, 6:47:21 PM12/3/09
to si
Здравствуйте.

>> почему то при большом количестве fopen пул виснет
>> выяснять что там не так увы времени нету
> за вас никто ваши проблемы решать не будет

ошибки которые возникали при этом в логе появлялись не только у меня
значит есть еще что то, в любом случае я там отключил фпм и
перевел на fcgi
так что эта тема уже закрыта, сейчас мне это уже не интересно

Alex Samorukov

unread,
Dec 4, 2009, 2:45:45 AM12/4/09
to highloa...@googlegroups.com
Ну странная позиция, если честно.

Если бы был повторяемый багрепорт я бы мог попытаться разобраться.

sta...@newmail.ru

unread,
Dec 4, 2009, 6:56:31 AM12/4/09
to Alex Samorukov
Здравствуйте.

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

а разбираться мне пока некогда, есть другие задачи боле важные

Alex Samorukov

unread,
Dec 4, 2009, 7:20:17 AM12/4/09
to highloa...@googlegroups.com
sta...@newmail.ru wrote:
> Здравствуйте.
>
> ничего странного
> эта ситуация проявилась у одного пула из ста
> ввести фпм в продакшен была моя идея, я же могу и отказаться
> к томуже у людей есть динамическая возможность прыгать с фмп на фцги и
> обратно, что и было сделано
>
> а разбираться мне пока некогда, есть другие задачи боле важные
>
Ну как-то мне кажется, что ваша позиция странно согласуется с принципами
OpenSource. Я стараюсь как минимум оставить баг репорт для
разработчиков, с максимумом полезной информации. А так - баг никогда и
не будет пофикшен.

jahson

unread,
Dec 5, 2009, 10:28:22 AM12/5/09
to highload-php-ru
On 2 дек, 23:13, Antony Dovgal <t...@daylessday.org> wrote:
> Привет!
>
> Я добавил FPM в официальный SVN-репозиторий PHP в виде отдельного SAPI.
> Специально для этого был создан новый бранч - PHP_5_3_FPM, который базируется на PHP_5_3.
>
> Забрать из SVN можно следующим образом:
> svn cohttp://svn.php.net/repository/php/php-src/branches/PHP_5_3_FPMphp_5_3_fpm
>
> Собирать следующим образом:
> ./configure --enable-fpm
>
> Если libevent стоит где-то в нестандартном пути, то добавьте:
> --with-libevent-dir=<libevent prefix>
>
> Остально всё как обычно.
>
> Пока оно находится на стадии "собирается и запускается без ошибок", особого тестирования не было.
> Поэтому большая просьба к вам - погоняйте и скажите что не так, я исправлю.
>
> Цель всего этого - довести FPM до полностью рабочего состояния и где-то в районе
> 5.3.3/5.3.4 включить в официальную поставку.

Собрал на osx 10.5.8, всё работает, но основной лог стал со скоростью
света наполняться повторяющимися наборами записей вида
Dec 05 21:49:02.526089 [NOTICE] fpm_php_trace(), line 170: finished
trace of 859
Dec 05 21:49:02.526130 [NOTICE] fpm_children_bury(), line 209: child
858 stopped for tracing
Dec 05 21:49:02.526139 [NOTICE] fpm_php_trace(), line 142: about to
trace 858
Dec 05 21:49:02.526441 [NOTICE] fpm_php_trace(), line 170: finished
trace of 858
Dec 05 21:49:02.526481 [NOTICE] fpm_children_bury(), line 209: child
856 stopped for tracing
Dec 05 21:49:02.526490 [NOTICE] fpm_php_trace(), line 142: about to
trace 856
Dec 05 21:49:02.526796 [NOTICE] fpm_php_trace(), line 170: finished
trace of 856
Dec 05 21:49:02.526906 [NOTICE] fpm_got_signal(), line 48: received
SIGCHLD
Dec 05 21:49:02.526942 [NOTICE] fpm_got_signal(), line 48: received
SIGCHLD
Dec 05 21:48:40.111291 [WARNING] fpm_request_check_timed_out(), line
135: child 870, script '/Users/jahson/www/project/branch/new/web/
index.php' (pool default) executing too slow (2803.190743 sec),
logging
Dec 05 21:48:40.111637 [WARNING] fpm_request_check_timed_out(), line
135: child 859, script '/Users/jahson/www/project/branch/new/web/
info.php' (pool default) executing too slow (2803.190743 sec), logging

index.php - индекс symfony (он ещё на что-то ругается в slowlog - в
виде бэктрейса, видимо из-за нового пхп), а info.php - просто phpinfo
(). В дальнейшем использовал только info.php.

Ясно, что 2803 секунды (порядка 45 минут) никто не выполняется - всё
достаточно быстро бегает. slowlog забивается записями вида
Dec 05 21:53:46.119609 pid 860 (pool default)
script_filename =·

Dec 05 21:53:46.119944 pid 859 (pool default)
script_filename =·

Dec 05 21:53:46.120249 pid 858 (pool default)
script_filename =·

Dec 05 21:53:46.120673 pid 856 (pool default)
script_filename =·

Покопался, сколько мог и вот что выкопал - основное действо происходит
в ветке, которая начинается со 128 строки файла fpm_request.c. При
этом ветка, начинающаяся со 112 строки не выполняется - это я проверил
для того, чтобы быть уверенным в данных лога. Дальше я добавил

135 zlog(ZLOG_STUFF, ZLOG_WARNING, "child-
>slow_logged: %d.%06d", (int) child->slow_logged.tv_sec, (int) child-
>slow_logged.tv_usec);
136 zlog(ZLOG_STUFF, ZLOG_WARNING, "child-
>slow_logged.tv_sec: %d", (int) child->slow_logged.tv_sec);
137 zlog(ZLOG_STUFF, ZLOG_WARNING, "child-
>slow_logged.tv_usec: %06d", (int) child->slow_logged.tv_usec);
138
139 zlog(ZLOG_STUFF, ZLOG_WARNING, "slot_c.accepted:
%d.%06d", (int) slot_c.accepted.tv_sec, (int)
slot_c.accepted.tv_usec);
140 zlog(ZLOG_STUFF, ZLOG_WARNING,
"slot_c.accepted.tv_sec: %d", (int) slot_c.accepted.tv_sec);
141 zlog(ZLOG_STUFF, ZLOG_WARNING,
"slot_c.accepted.tv_usec: %06d", (int) slot_c.accepted.tv_usec);
142
143 zlog(ZLOG_STUFF, ZLOG_WARNING, "tv: %d.%06d",
(int) tv.tv_sec, (int) tv.tv_usec);
144 zlog(ZLOG_STUFF, ZLOG_WARNING, "tv.tv_sec: %d",
(int) tv.tv_sec);
145 zlog(ZLOG_STUFF, ZLOG_WARNING, "tv.tv_usec: %06d",
(int) tv.tv_usec);

и они начали мне писать

23 Dec 05 22:58:49.765229 [WARNING] fpm_request_check_timed_out
(), line 135: child->slow_logged: 0.000000
24 Dec 05 22:58:49.765256 [WARNING] fpm_request_check_timed_out
(), line 136: child->slow_logged.tv_sec: 0
25 Dec 05 22:58:49.765265 [WARNING] fpm_request_check_timed_out
(), line 137: child->slow_logged.tv_usec: 000000
26 Dec 05 22:58:49.765273 [WARNING] fpm_request_check_timed_out
(), line 139: slot_c.accepted: 0.000000
27 Dec 05 22:58:49.765281 [WARNING] fpm_request_check_timed_out
(), line 140: slot_c.accepted.tv_sec: 0
28 Dec 05 22:58:49.765288 [WARNING] fpm_request_check_timed_out
(), line 141: slot_c.accepted.tv_usec: 000000
29 Dec 05 22:58:49.765296 [WARNING] fpm_request_check_timed_out
(), line 143: tv: 7012.775979
30 Dec 05 22:58:49.765304 [WARNING] fpm_request_check_timed_out
(), line 144: tv.tv_sec: 7012
31 Dec 05 22:58:49.765312 [WARNING] fpm_request_check_timed_out
(), line 145: tv.tv_usec: 775979

Хотя я и живу в России, мой навык в C оставляет желать лучшего :),
поэтому выводов сделать не могу - кроме одного: откуда-то берётся
неправильное время. Отдебажить как-то иначе пока тоже не получилось -
c gdb только учусь обращаться - и поставив брейкпоинт на вызов
fpm_request_check_timed_out у фэйлящего чайлда, я к сожалению ничего
не получил в ответ (но в данном случае я склонен обвинять руки).

Если отключить slowlog - то никто не ругается, ваш КО.

Да, заметил только во время очередной пересборки - "Installing PHP FPM
config: NONE/etc/"
[22:56:52] /Users/jahson/repositories/svn/php_5_3_fpm $ sudo make -j
install
Installing PEAR environment: /usr/local/lib/php/
Installing helper programs: /usr/local/bin/
program: phpize
Installing PDO headers: /usr/local/include/php/ext/pdo/
program: php-config
Installing man pages: /usr/local/man/man1/
page: phpize.1
[PEAR] Archive_Tar - already installed: 1.3.3
Installing PHP SAPI module: fpm
[PEAR] Console_Getopt - already installed: 1.2.3
Installing PHP CLI binary: /usr/local/bin/
Installing PHP FPM binary: /usr/local/bin/
/Users/jahson/repositories/svn/php_5_3_fpm/build/shtool install -c ext/
phar/phar.phar /usr/local/bin
page: php-config.1
[PEAR] Structures_Graph- already installed: 1.0.3
[PEAR] XML_Util - already installed: 1.2.1
ln -s -f /usr/local/bin/phar.phar /usr/local/bin/phar
Installing PHP CLI man page: /usr/local/man/man1/
[PEAR] PEAR - already installed: 1.9.0
Warning! a PEAR user config file already exists from a previous PEAR
installation at '/Users/jahson/.pearrc'. You may probably want to
remove it.
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
Installing PHP FPM config: NONE/etc/
Installing PHP FPM man page: /usr/local/man/man1/
Installing build environment: /usr/local/lib/php/build/
Installing header files: /usr/local/include/php/

fixxxer

unread,
Dec 5, 2009, 5:05:57 PM12/5/09
to highload-php-ru
On 5 дек, 18:28, jahson <jjah...@gmail.com> wrote:
> On 2 дек, 23:13, Antony Dovgal <t...@daylessday.org> wrote:

> Собрал на osx 10.5.8, всё работает, но основной лог стал со скоростью
> света наполняться повторяющимися наборами записей вида
> Dec 05 21:49:02.526089 [NOTICE] fpm_php_trace(), line 170: finished
> trace of 859

Оххх, как, оказывается, все запущено в этом 0.6.

Патч: http://symbi.org/misc/php_5_3_fpm_lost_request_phases.patch

С сингалами - я не воткнул, в каких случаях таки надо делать
безусловный exit по sigterm - так что пускай пока делает всегда...
лучше, чем игнорировать, по крайней мере, а дальше надо смотреть. Ну и
еще конечно реакция на sighup неадекватная (кстати, оно так и было,
или это тоже нововведение?).

Я, короче, не понимаю, о каких там портах и пакетах шли в -en
рассуждения все это время. Оно тупо не работает, какие пакеты :)

P.S. vodka, balalaika, perestroika, C language!

fixxxer

unread,
Dec 5, 2009, 5:18:09 PM12/5/09
to highload-php-ru
On 6 дек, 01:05, fixxxer <fixxxe...@gmail.com> wrote:
> Оххх, как, оказывается, все запущено в этом 0.6.
>
> Патч:http://symbi.org/misc/php_5_3_fpm_lost_request_phases.patch
>
> С сингалами - я не воткнул, в каких случаях таки надо делать
> безусловный exit по sigterm - так что пускай пока делает всегда...
> лучше, чем игнорировать, по крайней мере, а дальше надо смотреть. Ну и
> еще конечно реакция на sighup неадекватная (кстати, оно так и было,
> или это тоже нововведение?).

И, да, весь этот прыг-скок из fastcgi.c в fpm_* с выделением в
отдельный sapi как то совсем неактуален. Отрефакторить бы это дело,
заодно и разобраться, как работает.

В общем, если из настоящих сварщиков совсем некому, я попробую, но
ничего не обещаю =)

Еще конфиг бы переделать, я видел не одного и не двух админов, которым
резко плохеет от xml-я =) Может, libconfuse? Хотя, лишняя
зависимость...

jahson

unread,
Dec 5, 2009, 11:09:39 PM12/5/09
to highload-php-ru
On Dec 6, 6:05 am, fixxxer <fixxxe...@gmail.com> wrote:
> Оххх, как, оказывается, все запущено в этом 0.6.
>
> Патч:http://symbi.org/misc/php_5_3_fpm_lost_request_phases.patch
>
> С сингалами - я не воткнул, в каких случаях таки надо делать
> безусловный exit по sigterm - так что пускай пока делает всегда...
> лучше, чем игнорировать, по крайней мере, а дальше надо смотреть. Ну и
> еще конечно реакция на sighup неадекватная (кстати, оно так и было,
> или это тоже нововведение?).
>
> Я, короче, не понимаю, о каких там портах и пакетах шли в -en
> рассуждения все это время. Оно тупо не работает, какие пакеты :)
>
> P.S. vodka, balalaika, perestroika, C language!
Вот там что-то есть - http://fastcgi.com/docs/faq.html#Signals
Как я понял, он предлагает завершить приём запросов, но при этом
обработать уже принятые - и только потом выходить.

Sergey Kobzar

unread,
Dec 5, 2009, 5:25:28 PM12/5/09
to highload-php-ru
Sunday, December 6, 2009, 12:18:09 AM, fixxxer wrote:

> И, да, весь этот прыг-скок из fastcgi.c в fpm_* с выделением в
> отдельный sapi как то совсем неактуален. Отрефакторить бы это дело,
> заодно и разобраться, как работает.

:)

> В общем, если из настоящих сварщиков совсем некому, я попробую, но
> ничего не обещаю =)

> Еще конфиг бы переделать, я видел не одного и не двух админов, которым
> резко плохеет от xml-я =) Может, libconfuse? Хотя, лишняя
> зависимость...

Не то, чтобы совсем плохеет, но немного неудобно.

Естественно хочется иметь конфиги c-style более свойственные
unix-системам.

--
Sergey

sta...@newmail.ru

unread,
Dec 4, 2009, 7:15:25 PM12/4/09
to Alex Samorukov
Здравствуйте.

лог я приводил
а дебажить я не умею
так что все что мог я дал

Antony Dovgal

unread,
Dec 7, 2009, 5:20:20 AM12/7/09
to highloa...@googlegroups.com
On 06.12.2009 01:18, fixxxer wrote:
> И, да, весь этот прыг-скок из fastcgi.c в fpm_* с выделением в
> отдельный sapi как то совсем неактуален. Отрефакторить бы это дело,
> заодно и разобраться, как работает.

You're always welcome.



> В общем, если из настоящих сварщиков совсем некому, я попробую, но
> ничего не обещаю =)

Некому, некому.
У меня не 6 рук.

> Еще конфиг бы переделать, я видел не одного и не двух админов, которым
> резко плохеет от xml-я =) Может, libconfuse? Хотя, лишняя
> зависимость...

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

Antony Dovgal

unread,
Dec 7, 2009, 5:18:01 AM12/7/09
to highloa...@googlegroups.com
On 06.12.2009 01:05, fixxxer wrote:
> Оххх, как, оказывается, все запущено в этом 0.6.

Здесь надо учитывать, что в 0.6 изначально cgi_main.c и fastcgi.c шли аж из 4-ки.
Поэтому я ручками проапдейтил их до более-менее свежей версии.
Ну и по пути, конечно, сломал всё =) Так что, это не 0.6, эт всё я.

> Патч: http://symbi.org/misc/php_5_3_fpm_lost_request_phases.patch

Спасибо, Фиксер.
Приложил патч, кроме первой его части.

> С сингалами - я не воткнул, в каких случаях таки надо делать
> безусловный exit по sigterm - так что пускай пока делает всегда...
> лучше, чем игнорировать, по крайней мере, а дальше надо смотреть.

Я бы пока не спешил с такими патчами.
Там есть еще куча кода на libevent, которая тоже занимается обработкой сигналов,
и у меня есть впечатоление, что код в fastcgi.c просто мертвый и его надо дропнуть.

> Ну и
> еще конечно реакция на sighup неадекватная (кстати, оно так и было,
> или это тоже нововведение?).

А? См. выше.

Antony Dovgal

unread,
Dec 7, 2009, 5:08:31 AM12/7/09
to highloa...@googlegroups.com
On 05.12.2009 18:28, jahson wrote:
> Собрал на osx 10.5.8

Вы только там можете протестировать?

> , всё работает, но основной лог стал со скоростью
> света наполняться повторяющимися наборами записей вида
> Dec 05 21:49:02.526089 [NOTICE] fpm_php_trace(), line 170: finished
> trace of 859

Возможно, вам стоит сделать log_level не notice, а warning?
Так, конечно, вы видите все возможные нотисы.

> index.php - индекс symfony (он ещё на что-то ругается в slowlog - в
> виде бэктрейса, видимо из-за нового пхп), а info.php - просто phpinfo
> (). В дальнейшем использовал только info.php.
>
> Ясно, что 2803 секунды (порядка 45 минут) никто не выполняется - всё
> достаточно быстро бегает. slowlog забивается записями вида
> Dec 05 21:53:46.119609 pid 860 (pool default)
> script_filename =·

Окей, принял к сведению.



> и вот что выкопал - основное действо происходит
> в ветке, которая начинается со 128 строки файла fpm_request.c.

Сделайте svn up, плз, что-то я полностью запутался в номерах строк.

> Если отключить slowlog - то никто не ругается, ваш КО.

Понял, до туда я еще не дошел.
Включу и посмотрю, спасибо.



> Да, заметил только во время очередной пересборки - "Installing PHP FPM
> config: NONE/etc/"

Ага, я как раз это долго правил, всё должно исправиться с помощью `svn up && rm configure && ./buildconf && ./config.nice && make`

fixxxer

unread,
Dec 7, 2009, 7:35:14 AM12/7/09
to highload-php-ru
Ага, понял. :)

С сигналами это первый пришедший в голову workaround, щас уже вижу,
что многий код из fastcgi.c не нужен, и надо вернуть все старые патчи
и почикать мертвое. Попробую разгрести, там, похоже, из оригинального
cgi/fcgi sapi надо и не так много.

Antony Dovgal

unread,
Dec 7, 2009, 7:52:09 AM12/7/09
to highloa...@googlegroups.com
On 07.12.2009 15:35, fixxxer wrote:
> Ага, понял. :)
>
> С сигналами это первый пришедший в голову workaround, щас уже вижу,
> что многий код из fastcgi.c не нужен, и надо вернуть все старые патчи
> и почикать мертвое. Попробую разгрести, там, похоже, из оригинального
> cgi/fcgi sapi надо и не так много.

Вот-вот.
Поэтому оно просто напрашивается на чистку.

fixxxer

unread,
Dec 7, 2009, 9:57:30 PM12/7/09
to highload-php-ru
On 7 дек, 15:52, Antony Dovgal <t...@daylessday.org> wrote:
> > и почикать мертвое. Попробую разгрести, там, похоже, из оригинального
> > cgi/fcgi sapi надо и не так много.
>
> Вот-вот.
> Поэтому оно просто напрашивается на чистку.

Вот такое бы потестить:

http://symbi.org/misc/php_5_3_fpm_sapi_cleanup.patch

(Патч кумулятивный, предыдущее в себя включает).

Зачистил более-менее, починил обработку сигналов (и добавил для
мастера HUP = USR2, ибо, ятд, негоже по sighup-у тупо вываливаться).
Заодно ужаснулся и не смог не переписать init_request_info() - так что
надо особенно потестить, что я ничего не сломал. (Заведомо совсем
кривые конфигурации "сломал", конечно, но на таком вряд ли fpm
запускают). В комментариях там пояснил свою позицию =)

fixxxer

unread,
Dec 7, 2009, 10:03:46 PM12/7/09
to highload-php-ru
On 8 дек, 05:57, fixxxer <fixxxe...@gmail.com> wrote:
> http://symbi.org/misc/php_5_3_fpm_sapi_cleanup.patch
> (Патч кумулятивный, предыдущее в себя включает).

Обновил. Патч на ревизию 291811:

http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD.patch

fixxxer

unread,
Dec 8, 2009, 12:03:21 AM12/8/09
to highload-php-ru
On 7 дек, 13:08, Antony Dovgal <t...@daylessday.org> wrote:
>
> > Да, заметил только во время очередной пересборки - "Installing PHP FPM
> > config:        NONE/etc/"
>
> Ага, я как раз это долго правил, всё должно исправиться с помощью `svn up && rm configure && ./buildconf && ./config.nice && make`

Не-а, так и осталось. Проверил на FreeBSD и Linux.

И еще phpize в итоге странно сломался - любой сгенеренный им configure
обламывается на таком:

checking for ld used by gcc... ./configure: s%\\%/%g: not found
no
configure: error: no acceptable ld found in $PATH

jahson

unread,
Dec 8, 2009, 5:09:33 AM12/8/09
to highload-php-ru
On 7 дек, 18:08, Antony Dovgal <t...@daylessday.org> wrote:
> On 05.12.2009 18:28, jahson wrote:
>
> > Собрал на osx 10.5.8
>
> Вы только там можете протестировать?

Это просто то, что всё время под рукой. В принципе могу проверить на
линуксе или фре - но Фиксер уже успел это сделать )

> > , всё работает, но основной лог стал со скоростью
> > света наполняться повторяющимися наборами записей вида
> > Dec 05 21:49:02.526089 [NOTICE] fpm_php_trace(), line 170: finished
> > trace of 859
>
> Возможно, вам стоит сделать log_level не notice, а warning?
> Так, конечно, вы видите все возможные нотисы.

Основной смысл, конечно, был не в нотисах, а в скорости наполнения.

> > и вот что выкопал - основное действо происходит
> > в ветке, которая начинается со 128 строки файла fpm_request.c.
>
> Сделайте svn up, плз, что-то я полностью запутался в номерах строк.

Ну от svn up номера строк там не изменились - только в итоге проблема
не там, насколько я понимаю.

> > Да, заметил только во время очередной пересборки - "Installing PHP FPM
> > config: NONE/etc/"
>
> Ага, я как раз это долго правил, всё должно исправиться с помощью `svn up && rm configure && ./buildconf && ./config.nice && make`

Всё так же и осталось.

Antony Dovgal

unread,
Dec 8, 2009, 5:22:31 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 08:03, fixxxer wrote:
>> Ага, я как раз это долго правил, всё должно исправиться с помощью `svn up && rm configure && ./buildconf && ./config.nice && make`
>
> Не-а, так и осталось. Проверил на FreeBSD и Linux.

И еще раз пробуй, плз.
Должно исправиться.

> И еще phpize в итоге странно сломался - любой сгенеренный им configure
> обламывается на таком:
>
> checking for ld used by gcc... ./configure: s%\\%/%g: not found
> no
> configure: error: no acceptable ld found in $PATH

# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626

Работает. По крайней мере, после моих сегодняшних апдейтов у меня на Линуксе.

jahson

unread,
Dec 8, 2009, 6:54:04 AM12/8/09
to highload-php-ru
После недавнего апдейта NONE исчезло, спасибо.

Antony Dovgal

unread,
Dec 8, 2009, 7:01:29 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 14:54, jahson wrote:
> После недавнего апдейта NONE исчезло, спасибо.

Отлично, спасибо.
А массовые нотисы и слоулог исправились после патча Фиксера?

Antony Dovgal

unread,
Dec 8, 2009, 7:39:03 AM12/8/09
to highloa...@googlegroups.com

Фикс, тут речи ведутся о том, что добавить поддержку Win32 в FPM должно быть не очень сложно (учитывая, что libevent работает на винде).
Поэтому я бы не стал радикально удалять из кода всё, что касается винды. По крайней мере, сейчас.

Мне, конечно, сложно представить кому и зачем оно может быть нужно,
но мало ли - может, найдётся какой-нить доброволец, который займется этим.

Andrei Nigmatulin

unread,
Dec 8, 2009, 7:46:40 AM12/8/09
to highloa...@googlegroups.com

Уже были успешные попытки -
http://www.softwareprojects.com/resources/programming/t-how-to-install-nginx-php-php-fpm-and-mysql-under-1616.html


--
Andrei Nigmatulin
GPG PUB KEY 6449830D

Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take

Александр Лозовюк

unread,
Dec 8, 2009, 7:52:32 AM12/8/09
to highloa...@googlegroups.com
Это надо для разворачивания тестового сервера на машинах разработчиков.

8 декабря 2009 г. 15:39 пользователь Antony Dovgal <to...@daylessday.org> написал:



--
C уважением, Александр Лозовюк
Alpha-Beta-Release Blog
http://abrdev.com

jahson

unread,
Dec 8, 2009, 8:15:20 AM12/8/09
to highload-php-ru
On Dec 8, 8:01 pm, Antony Dovgal <t...@daylessday.org> wrote:
> А массовые нотисы и слоулог исправились после патча Фиксера?

Включил слоулог - он молчит на тех же файлах. Для проверки сделал в
info.php sleep(6); (<value name="request_slowlog_timeout">5s</value>)
- отрапортовало нормально.

fixxxer

unread,
Dec 8, 2009, 8:15:58 AM12/8/09
to highload-php-ru
On 8 дек, 15:39, Antony Dovgal <t...@daylessday.org> wrote:
> On 08.12.2009 06:03, fixxxer wrote:
>
> > On 8 дек, 05:57, fixxxer <fixxxe...@gmail.com> wrote:
> >>http://symbi.org/misc/php_5_3_fpm_sapi_cleanup.patch
> >> (Патч кумулятивный, предыдущее в себя включает).
>
> > Обновил. Патч на ревизию 291811:
>
> >http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD.patch
>
> Фикс, тут речи ведутся о том, что добавить поддержку Win32 в FPM должно быть не очень сложно (учитывая, что libevent работает на винде).
> Поэтому я бы не стал радикально удалять из кода всё, что касается винды. По крайней мере, сейчас.
>

Честно говоря, win32 код резал просто потому, что без него исходники
сразу понятнее в сто раз =)

Тут надо понимать цель fpm - это sapi для высоконагруженных систем.
Протестировать что-либо под виндой можно и обычным php-cgi -b, а
запускать что-то в производстве на cygwin или виндовом кастрате
селекта - это в лучшем случае баловство. О какой то производительности
и надежности тут даже заикаться смешно.

Производительное же решение для Win32 должно делаться на тредах и i/o
completion ports. Попытки добавить i/o c.p. в libevent были <http://
www.mail-archive.com/libeven...@monkey.org/msg01160.html>, но я не
очень понимаю, чем это все закончилось - и, если честно, вообще это
себе с трудом представляю - уж шибко архитектурные подходы разные. Но
если кто-то с виндой может проверить и убедиться, что либевент с вот
теми вот патчами работает в достаточных для fpm объемах - то почему бы
и нет.

Antony Dovgal

unread,
Dec 8, 2009, 8:15:22 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 15:52, Александр Лозовюк wrote:
> Это надо для разворачивания тестового сервера на машинах разработчиков.

Не понял. Вы о чем?

fixxxer

unread,
Dec 8, 2009, 8:24:18 AM12/8/09
to highload-php-ru
On 8 дек, 15:46, Andrei Nigmatulin <andrei.nigmatu...@gmail.com>
wrote:
>
> Уже были успешные попытки -http://www.softwareprojects.com/resources/programming/t-how-to-instal...
>

Дык то cygwin. Там куски с #idfef win32 и не нужны.

Oleg Roschupkin

unread,
Dec 8, 2009, 8:29:17 AM12/8/09
to highloa...@googlegroups.com
phpize работает так же, как и у Фиксера:

checking for ld used by gcc... ./configure: line 2601: s%\\%/%g: No
such file or directory


no
configure: error: no acceptable ld found in $PATH

--
Yours, Oleg Roschupkin
jja...@gmail.com

Oleg Roschupkin

unread,
Dec 8, 2009, 8:30:04 AM12/8/09
to highloa...@googlegroups.com
Точнее говоря ./configure после phpize.

Antony Dovgal

unread,
Dec 8, 2009, 8:33:15 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 16:29, Oleg Roschupkin wrote:
> phpize работает так же, как и у Фиксера:
>
> checking for ld used by gcc... ./configure: line 2601: s%\\%/%g: No
> such file or directory
> no
> configure: error: no acceptable ld found in $PATH
>

FreeBSD?
autoconf какой версии?

А без FPM всё точно так же? (снапшоты тут: http://snaps.php.net/)

Antony Dovgal

unread,
Dec 8, 2009, 8:25:53 AM12/8/09
to highloa...@googlegroups.com

Супер.
Спасибо Фиксеру за патч и вам за тесты =)

Antony Dovgal

unread,
Dec 8, 2009, 8:24:52 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 16:15, fixxxer wrote:
> Тут надо понимать цель fpm - это sapi для высоконагруженных систем.
> Протестировать что-либо под виндой можно и обычным php-cgi -b, а
> запускать что-то в производстве на cygwin или виндовом кастрате
> селекта - это в лучшем случае баловство. О какой то производительности
> и надежности тут даже заикаться смешно.

Я с тобой совершенно согласен.

Oleg Roschupkin

unread,
Dec 8, 2009, 9:12:12 AM12/8/09
to highloa...@googlegroups.com
08.12.2009, в 21:33, Antony Dovgal написал(а):

> On 08.12.2009 16:29, Oleg Roschupkin wrote:
>> phpize работает так же, как и у Фиксера:
>>
>> checking for ld used by gcc... ./configure: line 2601: s%\\%/%g: No
>> such file or directory
>> no
>> configure: error: no acceptable ld found in $PATH
>>
>
> FreeBSD?

Я понял почему вопрос, сейчас объясню - я раньше писал через
интерфейс, потому назывался jahson )
На деле у меня недофря - osx.

> autoconf какой версии?

autoconf проверял 2.13 - через export PHP_AUTOCONF='autoconf213'; от
2.65 всё сразу сходит с ума.

> А без FPM всё точно так же? (снапшоты тут: http://snaps.php.net/)

Попробую попробовать.

fixxxer

unread,
Dec 8, 2009, 10:20:00 AM12/8/09
to highload-php-ru
On 8 дек, 16:29, Oleg Roschupkin <jjah...@gmail.com> wrote:
> phpize работает так же, как и у Фиксера:
>
> checking for ld used by gcc... ./configure: line 2601: s%\\%/%g: No  
> such file or directory
> no
> configure: error: no acceptable ld found in $PATH


Есть суровое подозрение, что это проявляется только на 32 битах:

Linux debian 2.6.26-2-amd64
FreeBSD 8.0-RELEASE amd64

тут все нормально;

FreeBSD 7.2-RELEASE i386
Darwin Kernel Version 9.8.0 i386

тут получаем

phpize && ./configure

checking for ld used by gcc... ./configure: s%\\%/%g: not found


no
configure: error: no acceptable ld found in $PATH

Если попытаться схитрить и запустить LD='ld' ./configure - облом
следует дальше

checking command to parse nm output from gcc object... ./configure: s/^
[ABCDGIRSTW][ABCDGIRSTW]* \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/:
not found

но по крайней мере собирается =) Проверял на APC.


Да. Обновил патч (я там перестарался с зачисткой):

http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD2.patch

Накладывать на 291870.

Antony Dovgal

unread,
Dec 8, 2009, 10:19:09 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 17:12, Oleg Roschupkin wrote:
> Я понял почему вопрос, сейчас объясню - я раньше писал через
> интерфейс, потому назывался jahson )
> На деле у меня недофря - osx.

А, понял =)



>> autoconf какой версии?
>
> autoconf проверял 2.13 - через export PHP_AUTOCONF='autoconf213'; от
> 2.65 всё сразу сходит с ума.
>
>> А без FPM всё точно так же? (снапшоты тут: http://snaps.php.net/)
>
> Попробую попробовать.

Попробуйте только сначала ./vcsclean && ./buildconf && ./config.nice && make install
make install важно, т.к. phpize работает на основе уже установленных файлов.

Вообще, судя по всему, у вас $SED не определена и FPM тут никаким боком..

Antony Dovgal

unread,
Dec 8, 2009, 10:25:09 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 18:20, fixxxer wrote:
> Есть суровое подозрение, что это проявляется только на 32 битах:

Вряд ли.
Ошибка ваша вылазит из build/libtool.m4:2267
Там вот такая строка:
ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`

Что ты видишь, когда запускаешь `./config.nice | grep sed` ?



> Да. Обновил патч (я там перестарался с зачисткой):
> http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD2.patch
> Накладывать на 291870.

Ок, гляну.

Oleg Roschupkin

unread,
Dec 8, 2009, 10:27:29 AM12/8/09
to highloa...@googlegroups.com
08.12.2009, в 23:20, fixxxer написал(а):

Опередил )
Я тогда покажу всю историю ругани конфигуре

loading cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for egrep... grep -E
checking for a sed that does not truncate output...
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for icc... no
checking for suncc... no
checking whether gcc and cc understand -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking host system type... i386-apple-darwin9.8.0
checking target system type... i386-apple-darwin9.8.0
./configure: line 1556: s/.*>//: No such file or directory
checking for PHP prefix... /usr/local
checking for PHP includes... -I/usr/local/include/php -I/usr/local/
include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/
php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/
date/lib
checking for PHP extension directory... /usr/local/lib/php/extensions/
no-debug-non-zts-20090626
checking for PHP installed headers prefix... /usr/local/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: warning: You will need re2c 0.13.4 or later if you want to
regenerate PHP parsers.
checking for gawk... gawk
checking for cURL support... yes, shared
checking if we should use cURL for url streams... no
checking for cURL in default path... found in /usr
checking for cURL 7.10.5 or greater... libcurl 7.16.3
checking for SSL support in libcurl... yes
checking how to run the C preprocessor... gcc -E
checking for openssl support in libcurl... no
checking for gnutls support in libcurl... no
checking for curl_easy_perform in -lcurl... yes
checking for curl_version_info in -lcurl... yes
checking for curl_easy_strerror in -lcurl... yes
checking for curl_multi_strerror in -lcurl... yes
checking build system type... i386-apple-darwin9.8.0
checking for ld used by gcc... ./configure: line 3474: s%\\%/%g: No
such file or directory
ld
checking if the linker (ld) is GNU ld... no
checking for ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for object suffix... o
checking for executable suffix... rm: conftest.dSYM: is a directory
.dSYM
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 196608


checking command to parse nm output from gcc object... ./configure:

line 4414: s/^[BCDEGRST][BCDEGRST]* \(.*\) \(.*\)$/ {"\2", (lt_ptr_t)
\&\2},/: No such file or directory
ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fno-common
checking if gcc PIC flag -fno-common works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (ld) supports shared libraries... yes
checking dynamic linker characteristics... sed: first RE may not be
empty
darwin9.8.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
updating cache ./config.cache
creating ./config.status
creating config.h

fixxxer

unread,
Dec 8, 2009, 10:39:42 AM12/8/09
to highload-php-ru
On 8 дек, 18:25, Antony Dovgal <t...@daylessday.org> wrote:
> On 08.12.2009 18:20, fixxxer wrote:
>
> > Есть суровое подозрение, что это проявляется только на 32 битах:
>
> Вряд ли.
> Ошибка ваша вылазит из build/libtool.m4:2267
> Там вот такая строка:
> ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
>
> Что ты видишь, когда запускаешь `./config.nice | grep sed` ?
>

$ ./config.nice | grep sed
checking for a sed that does not truncate output... (cached) /usr/bin/
sed

Oleg Roschupkin

unread,
Dec 8, 2009, 10:40:31 AM12/8/09
to highloa...@googlegroups.com
Ну и для точности - это после export LD='ld', а конфигурил я ext/curl.

Antony Dovgal

unread,
Dec 8, 2009, 10:57:37 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 18:27, Oleg Roschupkin wrote:
> checking for a sed that does not truncate output...

Макрос не находит нормальный sed. Этот макрос не менялся уже множество лет.
У меня мыслей нет, кроме предположения, что в вашей системе кривой sed (что не редкость).

Antony Dovgal

unread,
Dec 8, 2009, 10:57:09 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 18:39, fixxxer wrote:
> $ ./config.nice | grep sed
> checking for a sed that does not truncate output... (cached) /usr/bin/
> sed

On 08.12.2009 18:27, Oleg Roschupkin wrote:
> checking for a sed that does not truncate output...

Ну вы определитесь уже.

На чистом снапшоте работает или нет?

fixxxer

unread,
Dec 8, 2009, 11:29:00 AM12/8/09
to highload-php-ru
On 8 дек, 18:57, Antony Dovgal <t...@daylessday.org> wrote:
> На чистом снапшоте работает или нет?

Проверил - на снэпшоте работает.

Oleg Roschupkin

unread,
Dec 8, 2009, 11:30:20 AM12/8/09
to highloa...@googlegroups.com
08.12.2009, в 23:57, Antony Dovgal написал(а):

> On 08.12.2009 18:39, fixxxer wrote:
>> $ ./config.nice | grep sed
>> checking for a sed that does not truncate output... (cached) /usr/
>> bin/
>> sed
>
> On 08.12.2009 18:27, Oleg Roschupkin wrote:
>> checking for a sed that does not truncate output...
>
> Ну вы определитесь уже.

Для полной точности - у Фиксера данные из ./config.nice самого пхп,
как я понимаю. У меня же - из ./configure из ext/curl. Я не думаю, что
они должны различаться, но видимо они думают иначе.
Если я погрепаю вывод ./config.nice - будет то же самое, что и у
Фиксера

[00:01:18] /Users/jahson/repositories/svn/php_5_3_fpm $ ./config.nice
--enable-fpm --enable-exif --with-libxml-dir=/opt --with-zlib-dir=/opt
--with-mcrypt=/opt/local --with-xsl=/opt --with-tidy=/opt/local --with-
curl=/opt/local --with-iconv=/opt/local --with-mysql=mysqlnd --with-
mysqli=mysqlnd --with-pdo-mysql=mysqlnd|grep sed


checking for a sed that does not truncate output... (cached) /usr/bin/
sed

> На чистом снапшоте работает или нет?

Сейчас проверяю.

Oleg Roschupkin

unread,
Dec 8, 2009, 11:40:51 AM12/8/09
to highloa...@googlegroups.com
09.12.2009, в 0:29, fixxxer написал(а):

> On 8 дек, 18:57, Antony Dovgal <t...@daylessday.org> wrote:
>> На чистом снапшоте работает или нет?
>
> Проверил - на снэпшоте работает.

Подтверждаю, работает. Трогал всё тот же ext/curl. Можно увидеть, что
вывод несколько отличается от прошлого раза.

creating cache ./config.cache


checking for Cygwin environment... no
checking for mingw32 environment... no
checking for egrep... grep -E

checking for a sed that does not truncate output... /usr/bin/sed


checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for icc... no
checking for suncc... no
checking whether gcc and cc understand -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking host system type... i386-apple-darwin9.8.0
checking target system type... i386-apple-darwin9.8.0

checking for ld used by gcc... /usr/libexec/gcc/i686-apple-
darwin9/4.0.1/ld
checking if the linker (/usr/libexec/gcc/i686-apple-darwin9/4.0.1/ld)
is GNU ld... no
checking for /usr/libexec/gcc/i686-apple-darwin9/4.0.1/ld option to
reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -p


checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for object suffix... o
checking for executable suffix... rm: conftest.dSYM: is a directory
.dSYM
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 196608

checking command to parse /usr/bin/nm -p output from gcc object... ok


checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fno-common
checking if gcc PIC flag -fno-common works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes

checking whether the gcc linker (/usr/libexec/gcc/i686-apple-
darwin9/4.0.1/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin9.8.0 dyld


checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
updating cache ./config.cache
creating ./config.status
creating config.h

--
Yours, Oleg Roschupkin
jja...@gmail.com

fixxxer

unread,
Dec 8, 2009, 11:51:21 AM12/8/09
to highload-php-ru
On 8 дек, 19:30, Oleg Roschupkin <jjah...@gmail.com> wrote:
> > Ну вы определитесь уже.
>
> Для полной точности - у Фиксера данные из ./config.nice самого пхп,  
> как я понимаю. У меня же - из ./configure из ext/curl.

Ага. Я идиот. :)

~/APC-3.1.3p1$ ./config.nice | grep sed


checking for a sed that does not truncate output...

./configure: s/.*>//: not found

Oleg Roschupkin

unread,
Dec 8, 2009, 11:54:56 AM12/8/09
to highloa...@googlegroups.com
09.12.2009, в 0:51, fixxxer написал(а):

Ну почему же ) Ты сделал, как просили

> Что ты видишь, когда запускаешь `./config.nice | grep sed` ?

Это я создал путаницу, выложив портянку от конфигуре курла.

fixxxer

unread,
Dec 8, 2009, 11:56:33 AM12/8/09
to highload-php-ru

Уточнение: на снэпшоте раобтает как на дистрибутивном configure, так и
на перегенеренном

Oleg Roschupkin

unread,
Dec 8, 2009, 11:57:41 AM12/8/09
to highloa...@googlegroups.com
08.12.2009, в 23:57, Antony Dovgal написал(а):

> On 08.12.2009 18:27, Oleg Roschupkin wrote:


>> checking for a sed that does not truncate output...
>
> Макрос не находит нормальный sed. Этот макрос не менялся уже
> множество лет.
> У меня мыслей нет, кроме предположения, что в вашей системе кривой
> sed (что не редкость).

Ну и чтобы совсем подытожить - я ведь до этого как-то собирал php с
этим sed'ом :)

Oleg Roschupkin

unread,
Dec 8, 2009, 12:49:31 PM12/8/09
to highloa...@googlegroups.com
Последний апдейт всё починил. Снова спасибо )

Antony Dovgal

unread,
Dec 8, 2009, 11:13:38 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 18:57, Antony Dovgal wrote:
> On 08.12.2009 18:39, fixxxer wrote:
>> $ ./config.nice | grep sed
>> checking for a sed that does not truncate output... (cached) /usr/bin/
>> sed
>
> On 08.12.2009 18:27, Oleg Roschupkin wrote:
>> checking for a sed that does not truncate output...
>
> Ну вы определитесь уже.
>
> На чистом снапшоте работает или нет?

В смысле, взять снапшот, сконфигурить, поставить и использовать phpize из него.
И точно так же из бранча PHP_5_3_FPM.

Jani говорит, что он исправлял похожую проблему на *BSD, но было это минимум пару недель назад,
соотв-но фикс уже должен быть в PHP_5_3_FPM, а проблемы могут быть от остатков старых установок.

Antony Dovgal

unread,
Dec 8, 2009, 11:37:04 AM12/8/09
to highloa...@googlegroups.com

Вот снэпшот не должен никак отличаться от PHP_5_3_FPM.

Antony Dovgal

unread,
Dec 8, 2009, 11:43:30 AM12/8/09
to highloa...@googlegroups.com
On 08.12.2009 19:30, Oleg Roschupkin wrote:
> Для полной точности - у Фиксера данные из ./config.nice самого пхп,
> как я понимаю. У меня же - из ./configure из ext/curl.

phpize - он откуда?

Antony Dovgal

unread,
Dec 8, 2009, 12:10:26 PM12/8/09
to highloa...@googlegroups.com
cd php_5_3_fpm
svn up && ./vcsclean && ./buildconf && ./config.nice && make install

Сейчас должно работать.

20:08 <@gwynne> tony2001: It's long since fixed... the divert(1001) instead of divert(1) at the top of phpize.m4 inexplicably caused the resulting
configure script to be unable to find sed, which in turn caused a bunch of shell errors later on as it tried to execute empty commands and
sed expressions.
20:08 <@tony2001> AHA!..

fixxxer

unread,
Dec 8, 2009, 2:56:54 PM12/8/09
to highload-php-ru
On 8 дек, 20:10, Antony Dovgal <t...@daylessday.org> wrote:
> cd php_5_3_fpm
> svn up && ./vcsclean && ./buildconf && ./config.nice && make install
>
> Сейчас должно работать.
>
> 20:08 <@gwynne> tony2001: It's long since fixed... the divert(1001) instead of divert(1) at the top of phpize.m4 inexplicably caused the resulting
>                 configure script to be unable to find sed, which in turn caused a bunch of shell errors later on as it tried to execute empty commands and
>                 sed expressions.
> 20:08 <@tony2001> AHA!..

Работает, ага. Спасибо. Теперь понятно, почему не работало выборочно -
дело в версиях autoconf.

P.S. прочитал про divert() - офигеть, уличная магия какая-то. :)

Alexey A. Rybak

unread,
Dec 8, 2009, 3:06:03 PM12/8/09
to highloa...@googlegroups.com
2009/12/8 Александр Лозовюк <aleks....@gmail.com>:
> Это надо для разворачивания тестового сервера на машинах разработчиков.

что ж это за тестовый сервер такой который на другой операцинке

>
> 8 декабря 2009 г. 15:39 пользователь Antony Dovgal <to...@daylessday.org>
> написал:
>>
>> On 08.12.2009 06:03, fixxxer wrote:
>> > On 8 дек, 05:57, fixxxer <fixxxe...@gmail.com> wrote:
>> >> http://symbi.org/misc/php_5_3_fpm_sapi_cleanup.patch
>> >> (Патч кумулятивный, предыдущее в себя включает).
>> >
>> > Обновил. Патч на ревизию 291811:
>> >
>> > http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD.patch
>>
>> Фикс, тут речи ведутся о том, что добавить поддержку Win32 в FPM должно
>> быть не очень сложно (учитывая, что libevent работает на винде).
>> Поэтому я бы не стал радикально удалять из кода всё, что касается винды.
>> По крайней мере, сейчас.
>>
>> Мне, конечно, сложно представить кому и зачем оно может быть нужно,
>> но мало ли - может, найдётся какой-нить доброволец, который займется этим.


>>
>> --
>> Wbr,
>> Antony Dovgal
>> ---
>> http://pinba.org - realtime statistics for PHP
>
>
>

> --
> C уважением, Александр Лозовюк
> Alpha-Beta-Release Blog
> http://abrdev.com
>

--

wbr,
fisher

fixxxer

unread,
Dec 8, 2009, 5:57:20 PM12/8/09
to highload-php-ru
On 8 дек, 18:20, fixxxer <fixxxe...@gmail.com> wrote:
> http://symbi.org/misc/php_5_3_fpm_sapi_cleanup_UPD2.patch
>
> Накладывать на 291870.

Еще чутка обновил. Залил поверх.

Oleg Roschupkin

unread,
Dec 9, 2009, 3:19:07 AM12/9/09
to highloa...@googlegroups.com
09.12.2009, в 0:43, Antony Dovgal написал(а):

> On 08.12.2009 19:30, Oleg Roschupkin wrote:
>> Для полной точности - у Фиксера данные из ./config.nice самого пхп,
>> как я понимаю. У меня же - из ./configure из ext/curl.
>
> phpize - он откуда?


Всё время использовал системный phpize.

ps. Я ведь уже написал, что после апа с фиксом divert всё заработало? )

Antony Dovgal

unread,
Dec 9, 2009, 4:16:27 AM12/9/09
to highloa...@googlegroups.com
On 09.12.2009 11:19, Oleg Roschupkin wrote:
>> phpize - он откуда?
>
>
> Всё время использовал системный phpize.
>
> ps. Я ведь уже написал, что после апа с фиксом divert всё заработало? )

Да, да..
Это то ли gmail тупит, то ли Найт модерит каждое мое сообщение отдельно вместо того, чтобы пометить меня как "Allow always".
В общем, письма от меня в лист доходят беспорядочно и через полчаса после отправления.

PHP Club

unread,
Dec 9, 2009, 7:58:39 AM12/9/09
to highload-php-ru
Ну он же по дефолту не собирается - никому не будет помехой..
тут вопрос в мантейнере скорей всего.

On 3 дек, 18:40, "Alexey A. Rybak" <alexey.ry...@gmail.com> wrote:
> > Поэтому некая "неофициальная группа разработчиков" - это на данный момент я,
> > как это не прискорбно.
> > А меня пускать в офиц. репозиторий не надо, я там и так есть =)
>
> давай чтобы не создавать ложной паники поясним
> - дримкет действительно собирается прекратить работу над проектом. но
> он никуда не пропадает, щас помогает, по-моему, вот обновления к сапи
> прислал.
> - в сентябре майкл с дримкетом сделали попытку предложить пхп-тим
> заняться фпм, типа вот у нас такой есть фпм, он уже сапи, не хотите ли
> его себе. вообще предложение было довольно странное по форме по-моему,
> ну и пхп тим как-то вяло отреагировал, типа ну можно подумать. да и их
> можно понять - народ занятой и вряд ли кто станет мейнтернером и будет
> заниматься интеграцией и всем гемором с поддержкой
> - это была не первая попытка - но раньше пхп-тим просто офигевал от
> закидонов фпм типа bundled libevent - щас ничего этого нет, ничего
> начать интеграцию не мешает, и в этом огромная заслуга дримкета.
> - сейчас самое лучшее время добавить фпм в официальный дистрибутив -
> со временем уйдут все грабли со сборкой, отдельными пакетами. тони -
> член пхп-тим уже черт значит скока лет.
> - что будет с проектом дальше - покажет время. но по-моему будет
> лучше, если в момент "безотцовщины" он окажется в репозитории пхп.
>
> --
>
> wbr,
> fisher

Reply all
Reply to author
Forward
0 new messages