Apache mpm-itk — пересборка php
Если вы читаете эту статью, то уже наверное столкнулись с проблемой, что после перекомпиляции php с работающим mpm-itk получаем невеселую картину: ioncube и zend optimizer не хотят подгружаться и соответственно не работают. Я долго искал решение данной проблемы, задавал вопрос на форуме Searchengines и других специализированных форумах, но местные гуру порекомендовали исправить руки. И найдя в чем загвоздка, я сомневаюсь в их компетенции. Итак, что же происходит, почему ioncube и zend не работают? Причина в том, что при компиляции php, конфигуратор решает, что apr и apache работает в режиме “thread safety”, ну и соответственно добавляет везде где можно ключи чтобы и php был собран в этом режиме. Итак, чтобы отучить конфигуратор от этих темных мыслей применяем перед конфигурацией следующий patch:
— php-5.2.17/configure.orig 2011-01-09 11:32:18.000000000 +0200
+++ php-5.2.17/configure 2011-01-09 11:35:06.000000000 +0200
@@ -6380,7 +6380,7 @@
;;
esac
- if test «$APXS_MPM» != «prefork»; then
+ if test «$APXS_MPM» != «itk» -a «$APXS_MPM» != «prefork»; then
enable_maintainer_zts=yes
if test «$pthreads_working» != «yes»; then
@@ -7228,7 +7228,7 @@
;;
esac
- if test «$APXS_MPM» != «prefork»; then
+ if test «$APXS_MPM» != «itk» -a «$APXS_MPM» != «prefork»; then
enable_maintainer_zts=yes
if test «$pthreads_working» != «yes»; then
— php-5.2.17/sapi/apache2handler/config.m4.orig 2007-07-12 02:20:37.000000000 +0300
+++ php-5.2.17/sapi/apache2handler/config.m4 2011-01-09 11:45:40.000000000 +0200
@@ -117,7 +117,7 @@
;;
esac
- if test «$APXS_MPM» != «prefork»; then
+ if test «$APXS_MPM» != «itk» -a «$APXS_MPM» != «prefork»; then
PHP_BUILD_THREAD_SAFE
fi
AC_MSG_RESULT(yes)
Версию patch-а текстовым файлом можно скачать тут: php-mpm-itk.patch












Спасибо, столкнулся с этой же проблемой, статья очень помогла. Патч применил следующим образом:
# cp /usr/local/directadmin/custombuild/php-5.2.17.tar.gz /usr/src/
# cd /usr/src/ && tar -xzf php-5.2.17.tar.gz
# cd /usr/src/php-5.2.17 && wget http://kaba.org.ua/soft/mpm-itk/php-mpm_itk.patch
# patch -p1 < php-mpm_itk.patch
# cd .. && rm php-5.2.17.tar.gz
# tar -czf php-5.2.17.tar.gz php-5.2.17/
# mv php-5.2.17.tar.gz /usr/local/directadmin/custombuild/
# md5sum php-5.2.17.tar.gz
Далее заменил на полученную md5 сумму для php-5.2.17 в файле /usr/local/directadmin/custombuild/versions.php
И запустил:
# cd /usr/local/directadmin/custombuild && ./build php n
Собсно, zend_extensions успешно подгрузились. Все работает. Автору респект!