Как скомпилировать PHP с заданным параметром?

Статус
В этой теме нельзя размещать новые ответы.

Albert22

Старатель
Регистрация
30 Мар 2008
Сообщения
270
Реакции
11
Часто встречаю совет вида «compile php with --with--mhash will be ok.»
Но затрудняюсь это сделать - не знаю когда и куда эту директиву писать.
Сервак на FirstVDS, проблемы возникают при установке Windows Live ID PHP (удивился бы если бы их не было)
Сначала думал что эту директиву нужно писать при установке. Без проблем, снёс ПХП, поставил заново. В процессе переустановки удобного случая для ввода директивы не видел.
Выкручивался путём добавления в /usr/local/etc/php/extensions.ini строчки вида
extension=mhash.so
После перезапуска сервака файл с кодом
Код:
<?php
print_r (get_loaded_extensions());
phpinfo();
?>
начинал упоминать добавленную функцию.
Скажите, тем не менее, как делать то самое «compile php with --with--mhash», ведь добавление строчек, как я понимаю, херовый метод...
З.Ы. функция mhash взята для примера, после добавления вышеупомянутой строчки она у меня работает... Ступорит это:
To enable support for gdbm add --with-gdbm[=DIR].
Где писать? Когда? Как?
 
Это параметр для configure, когда собираешь ручками из исходников.
ведь добавление строчек, как я понимаю, херовый метод
да не особо он и херовый, особенно если работает и собирать ручками не умеешь ;)
 
Хочу собрать ручками
Нашёл вот:
Для просмотра ссылки Войди или Зарегистрируйся
9. cd ../php-NN

10. Теперь мы сконфигурируем PHP. Здесь вы можете настроить установку
PHP при помощи параметров командной строки скрипта configure.
Вы можете включить или выключить некоторые расширения. Просмотрите вывод
команды ./configure --help для получения полного списка параметров
конфигурации. В нашем примере мы сконфигурируем PHP очень просто -
с поддержкой Apache и MySQL. В вашей системе путь до apxs может
отличаться от указанного в примере, так же бинарный файл может иметь имя
apxs2.

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

11. make
12. make install

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

Заметьте, что 'make install' установит так же PEAR,
различные инструменты PHP - такие как phpize, версию PHP для командной
строки (PHP CLI) и т.д.
И где эту папку из-под которой конфигурировать искать?
 
Это та папка в которую ты распакуешь скачанные сырцы :D
 
Не не не, я про папку с пхп.
Сырцы я-то устанавливаю (mhash например) в свою папку, но как передать их пыхе?
То, что mhash.so появился в /usr/local/lib/php/ может это моя заслуга, а может это так было, я не знаю... А вот gdbm.so там не оказалось...

Я же не буду конфигурировать сырцы командой ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql, верно? Это команда конфигурирования ПХП, и вот где её выполнять? Я это хотел спросить...
 
Я тебе уже ответил - в папке с сырцами пхп.
./configure нужные параметры, в том числе и --with-mhash=путь к mhash
есть замечательная команда ./configure --help

А вообще есть такая штука, как маны
 
Отдельное спасибо за ман - я его и до этого раз двадцать прочитал
То, что папка с сырцами пхп я понял. Я не знаю где её искать. Перескочить с Дебиана на Фрибзду и сразу сориентироваться где что (во время сессии, причём) мне не дано, извини :)

Пока обхожусь так: гуглю нужный пакет, ставлю
Код:
cd /usr/ports/databases/php5-dba/ && make install clean
потом дописываю в /usr/local/etc/php/extensions.ini
строчку extension=dba.so
 
:haha: :haha: :haha:
Йопта, искать её надо на сайте php.net в разделе downloads.

Я ж тебе в самом начале писал
Это та папка в которую ты распакуешь скачанные сырцы
 
:haha: :haha: :haha:
Йопта, искать её надо на сайте php.net в разделе downloads.

Я ж тебе в самом начале писал

Дружище, мне кажется мы запутались и друг друга не понимаем :)
ПХП уже установлен, автоматически, я никакую директорию ему в процессе установки не указывал. Он сам стал и заработал. Если бы я вчера ему сказал стать в ту или иную папку, я бы не стал сегодня интересоваться её названием :)
А так, он сам куда-то залез и я без понятия куда.
Я пытался locate php5, пишет database too small...
Я до поры до времени обхожусь ананизмом установки расширений через порты и указанием их в /usr/local/etc/php/extensions.ini, но жопой чую, что когда-то именно столкнусь с необходимостью поставить ручками, и хочу быть в курсе что да как
 
Я не знаю как тебе ещё объяснить, попробую последний раз:
1. Посылаешь свой неизвестно как автоматически собранный PHP на йух
2. Качаешь сырцы с php.net и распаковываешь
3. заходишь в папку куда распаковал
4. запускаешь configure c нужными тебе ключами
5. делаешь make и sudo make install
ВСЁ

Нахрена искать старый PHP, если тебе надо компилировать новый, я не понимаю.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху