"завис" fpm

fixxxer

К.О.
Партнер клуба
Собранное своими руками в продакшен тащить намного лучше, чем собранное руками (или чем они там это делают) мейнтенеров дебиана, прости хоспади.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Вот я все хочу и рыбку съесть, и — вы поняли...
Случайно, никто не делал/видел автосборки пхп с экстеншнами из сорцов, да в deb- репозиторий?
Если да, может ли кто поделиться?
Хочется совместить преимущества «ручной» сборки с красивым деплоем деб-пакетами (как во всяких Яндексах, ага)
 

tony2001

TeaM PHPClub
ты меняешь php раз в день? или у тебя сотни серверов?
зачем тебе deb ради deb'а?
 

tony2001

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

флоппик

promotor fidei
Команда форума
Партнер клуба
Я программист. Я предпочитаю не делать руками то, что можно не делать руками, и делать так, что бы оно работало даже когда меня рядом уже не будет. Сотен серверов у меня нет, но вот с десяток — есть. Причем в разных ДЦ, и в разных странах. И апгрейдить этот зоопарк под прихоти разных команд руками — уныло и скучно. Я интересовался, возможно, кто-то видел нормальное решение из коробки, позволяющее не копаться весело в исходниках руками (нет, я не гик, меня это не вставляет) а деплоить всякое спокойно и аккуратно.
 

fixxxer

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

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

ну или checkinstall, ага
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
че-то я вас честно не понимаю.
может, потому что я учился когда ни пакетов еще не было, ни совместимости в win, но я всю жизнь собираю php "руками".
у меня есть свой деплоймент-скрипт с командой configure, написанный >5 лет назад, я только правлю его под новые версии.
я написал деплоймент серверов по ssh, все замечательно само ставится.

В пакетах PHP старый и испорчен патчами. Единственный нормальный - centos.alt.ru (под CentOS/RedHat).
Но все-равно добавлять расширения руками придется, исходники нужны.
Вы никогда не используете mhash, mcrypt, eaccelerator/xcache, crack, rar, geoip? Их же из пакетов не поставить все-равно.
 

zerkms

TDD infected
Команда форума
grigori
gentoo же

ps: начал писать gentoo не в той раскладке и испугался :-S
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Но все-равно добавлять расширения руками придется, исходники нужны.
Вы никогда не используете mhash, mcrypt, eaccelerator/xcache, crack, rar, geoip? Их же из пакетов не поставить все-равно.
Код:
gorbunov@gorbunov:~$ apt-cache search php5-*
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication
php5-exactimage - fast image manipulation library (PHP bindings)
php5-ffmpeg - audio and video support via ffmpeg for php5
php5-geoip - GeoIP module for php5
php5-gpib - libgpib PHP5 bindings
php5-idn - PHP API for the IDNA library
php5-imagick - ImageMagick module for php5
php5-imap - IMAP module for php5
php5-interbase - interbase/firebird module for php5
php5-lasso - Library for Liberty Alliance and SAML protocols - PHP 5 bindings
php5-librdf - PHP5 language bindings for the Redland RDF library
php5-mapscript - php5-cgi module for MapServer
php5-mcrypt - MCrypt module for php5
php5-memcache - memcache extension module for PHP5
php5-memcached - memcached extension module for PHP5
php5-ming - Ming module for php5
php5-ps - ps module for PHP 5
php5-radius - PECL radius module for PHP 5
php5-remctl - PECL module for Kerberos-authenticated command execution
php5-sasl - Cyrus SASL extension for PHP 5
php5-sqlrelay - SQL Relay PHP API
php5-suhosin - advanced protection module for php5
php5-svn - PHP Bindings for the Subversion Revision control system
php5-tokyo-tyrant - PHP interface to Tokyo Cabinet's network interface, Tokyo Tyrant
php5-uuid - OSSP uuid module for php5
php5-xapian - Xapian search engine interface for PHP5
php5-xcache - Fast, stable PHP opcode cacher
php5-xdebug - Xdebug Module for PHP 5
php-pear - PEAR - PHP Extension and Application Repository
php5 - server-side, HTML-embedded scripting language (metapackage)
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-enchant - Enchant module for php5
php5-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php5-intl - internationalisation module for php5
php5-sybase - Sybase / MS SQL Server module for php5
gorbunov@gorbunov:~$
 

fixxxer

К.О.
Партнер клуба
да для своих заранее известных конфигураций намного проще вообще статически все в один бинарь собрать по моему
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
еще я собираю cli --with pcntl, posix, sockets, shmop, sysv*, а fcgi - без них
иногда появляется потребность в новых расширениях при добавлении функционала сайта,
или выход новых major-версии postgres,
или несколько версий надо поставить параллельно
ситуаций куча

я не понимаю, нафига себя так ограничивать, работая только с репозиториями :)
это ж не windows-программа, которая пишет в реестр и в общие папки, тут всего 3-4 бинарника, папка с расширениями, pear, заголовочные файлы,
все аккуратно размещено и конфликтов не бывает
 

флоппик

promotor fidei
Команда форума
Партнер клуба
«Русские форумы во всей их бессмысленности и беспощадности» — наглядное пособие.
 

Dovg

Продвинутый новичок
Подниму, пожалуй, тему.

Недавно начал "зависать по-другому":

Вот бектрейсы:
Код:
child
#0  0x00007ffc598b7384 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007ffc598b2bf0 in _L_lock_102 () from /lib/libpthread.so.0
#2  0x00007ffc598b24fe in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007ffc58e569d9 in apc_pthreadmutex_lock () from
/usr/lib/php5/20090626/apc.so
#4  0x00007ffc58e515ae in apc_cache_find_slot () from
/usr/lib/php5/20090626/apc.so
#5  0x00007ffc58e51a44 in apc_cache_find () from
/usr/lib/php5/20090626/apc.so
#6  0x00007ffc58e56001 in ?? () from /usr/lib/php5/20090626/apc.so
#7  0x0000000000549e0c in ?? ()
#8  0x00000000006bbf1a in zend_execute_scripts ()
#9  0x0000000000664db8 in php_execute_script ()
#10 0x000000000075208d in main ()
Код:
master
#0  0x00007ffc5a34dbd3 in epoll_wait () from /lib/libc.so.6
#1  0x00007ffc5b236526 in ?? () from /usr/lib/libevent-1.4.so.2
#2  0x00007ffc5b22a057 in event_base_loop () from /usr/lib/libevent-1.4.so.2
#3  0x00000000007502ba in fpm_event_loop ()
#4  0x000000000074d448 in fpm_run ()
#5  0x0000000000751823 in main ()
Я правильно понимаю, что единственный выход, это попробовать какой-нибудь другой акселератор? :)
 

tony2001

TeaM PHPClub
для начала попробуй распоследний APC.
там что-то исправлялос, вроде бы.

если не поможет - git clone [email protected]:tony2001/eaccelerator.git
EA у меня еще ни разу не залочился за почти полгода.
 

Dovg

Продвинутый новичок
Попробуем eaccelerator из коробки и твой форк.
Когда накопится статистика, обязательно похвастаюсь результатами :)
 

Dovg

Продвинутый новичок
eaccelerator из github.com:tony2001/eaccelerator.git
0x00007f642872b3e0 in pthread_rwlock_wrlock () from /lib/libpthread.so.0
(gdb) bt
#0 0x00007f642872b3e0 in pthread_rwlock_wrlock () from /lib/libpthread.so.0
#1 0x00007f642668e19d in _mm_lock () from /usr/lib/php5/20090626/eaccelerator.so
#2 0x00007f6426688b1c in eaccelerator_compile_file () from /usr/lib/php5/20090626/eaccelerator.so
#3 0x00000000006bbf1a in zend_execute_scripts ()
#4 0x0000000000664db8 in php_execute_script ()
#5 0x000000000075208d in main ()
Те же яица.

Пожалуй, откатимся на php-cgi.

Конфиг такой:
[eaccelerator]
extension=eaccelerator.so
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="0"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="1"
eaccelerator.compress="0"
eaccelerator.compress_level="0"
 
Сверху