LINUX.ORG.RU

как скомпилировать php-cgi?


0

1

раньше все было норм, а сейчас почему-то в системе не появляется php-cgi

система федора14
ставлю php 5.2.18-dev

попробовал опции --with-fastcgi --without-cli
с --without-cli «make install» стал виснуть на команде

chmod 755 /usr/lib/httpd/modules/libphp5.so

не понимаю, что за лажа
перед этим нормально компилировал php 5.2.17-dev и подключал к апачу как fastcgi

>федора14

компилировал


Мама не учила, что засорять бинарные дистры самосбором - плохо?
В чем проблема поставить из репозитория?

iSage ★★★★
()
Ответ на: комментарий от sergey-novikov

на данный момент следующая лажа:

я качал php5.2-201101171930
после установки я получил php 5.2.18-dev, подключенный к апачу как cgi

зашёл в сорцы/ext/pdo_mysql:
- phpize
- ./configure
- make
- sudo make install

получил pdo_mysql.so
положил его в папку, указанную в extension_dir текущего пхп
подключил в php.ini

результат:
при открытии любого скрипта - «Internal Server Error»

при запуске в консоли php-cgi -v:

/opt/php52/bin/php-cgi: symbol lookup error: /opt/php52/lib/php/extensions/pdo_mysql.so: undefined symbol: php_pdo_declare_long_constant

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от anonymous

>А что, в пыхпыхе ломают совместимость между минорными релизами?

Просто они не гонятся за мажорными релизами :) 5.2 и 5.3 отличаются очень сильно.

...

Правда, всё равно непонятно, зачем гоняться за 5.2, ибо софт с 5.2 на 5.3 работает при соответствующих настройках конфига. Вырубить лишние варинги и нотисы - и профит. (А потом понемногу избавляться от них)

KRoN73 ★★★★★
()
Ответ на: комментарий от sergey-novikov

А в Gentoo 5.2 и 5.3 прекрасно живут в разных слотах :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

у меня нет цели переписывать кучу старых скриптов, чтобы они работали в 5.3. их надо лишь поддерживать.

а вот на 5.3 я хочу писать все новое.

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

>у меня нет цели переписывать кучу старых скриптов, чтобы они работали в 5.3

Так они должны работать и без переписывания. Я не сталкивался ещё с проблемой неработоспособности старого кода в 5.3.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

к примеру почти все используют set_magic_quotes_runtime(0);
а 5.3 пишет что эта строка deprecated

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

а править старый код для совместимости - нет никакого желания, его слишком много

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

>а 5.3 пишет что эта строка deprecated

http://www.linux.org.ru/jump-message.jsp?msgid=5804478&cid=5804831 - предпоследнее предложение

если я отключу вывод ошибок, как я смогу писать новые правильные скрипты на 5.3?


Сделай индивидуальные настройки. Зря, что ли, php-fpm в 5.3 включили? :) Ещё лучше - не блокируй вывод deprecated, а направь вывод в файлы. Разные для разных проектов.

KRoN73 ★★★★★
()
Ответ на: комментарий от sergey-novikov

как подключить эту чёртову библиотеку, ума не приложу
это ведь одна и та же сборка пхп!
почему её же модуль к ней не подключается?

весь гугл уже прочитал, ошибка встречается:

/opt/php52/bin/php-cgi: symbol lookup error: /opt/php52/lib/php/extensions/pdo_mysql.so: undefined symbol: php_pdo_declare_long_constant

но решения нигде нет
подключать php_pdo как shared-модуль тоже неправильно, потому что он уже включен в ядро пхп

а встроить pdo_mysql в сам пхп при компиляции.. возможно ли это?

попробовал пересобрать пхп - включив поддержку pdo_mysql (не шаред)
теперь при make install зависает на строке

chmod 755 /usr/lib/httpd/modules/libphp5.so

даже если выполнить make install -dki

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от iSage

нет, всё равно также

[root@localhost php5.2-201101171930]# make install
Installing PHP SAPI module: apache2handler
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib/apr-1/build/libtool' libphp5.la /usr/lib/httpd/modules
/usr/lib/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib/httpd/modules/
libtool: install: cp .libs/libphp5.so /usr/lib/httpd/modules/libphp5.so
libtool: install: cp .libs/libphp5.lai /usr/lib/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /home/user/downloads/php5.2-201101171930/libs'
chmod 755 /usr/lib/httpd/modules/libphp5.so


причем щас поставил libtool и запустил указанную команду
но он продолжает кидать этот варнинг

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

а что мешает написать скрипт на баше/седе/авк/whatever который заменит все депрекейтед на недепрекейтед? (например set_magic_quotes_runtime на my_set_magic_quotes_runtime, в которой уже сделано что нужно но не деприкейтед)

anonymous
()
Ответ на: комментарий от anonymous

да ничего не мешает

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

во-вторых для меня разделение проектов на 5.2 и 5.3 - это нечто большее
с нг я решил стать лучше)) - и папка 5.3 будет содержать в себе лишь то, что я сделал начиная с нг, а всё старое убрано в www52/

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

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

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

>нравственные и моральные вопросы разделения двух версий обсуждать не вижу смысла

Тогда тебе уже сказали: две версии прекрасно сосуществуют в Gentoo :) Компилируются, устанавливаются. С любыми, какие хочешь, настройками...

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

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

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

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

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

iSage ★★★★
()
Ответ на: комментарий от sergey-novikov

> во-первых: у меня нет никакого желания править старый говнокод, когда есть куча новых задач и целей

Ты уже потратил кучу времени на замысловатые компиляции. Проще уже было рекурсивно sed запустить с исправлениями кода. Хотя да, это подход истинного пхпашника, наплодить говнокод и через попу его поддерживать.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.