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

Тема в разделе "PHP Pro", создана пользователем Albert22, 2 фев 2009.

Статус темы:
Закрыта.
  1. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    Часто встречаю совет вида «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].
    Где писать? Когда? Как?
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Это параметр для configure, когда собираешь ручками из исходников.
    да не особо он и херовый, особенно если работает и собирать ручками не умеешь ;)
     
  3. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    Хочу собрать ручками
    Нашёл вот:
    http://www.php.net/manual/ru/install.unix.apache2.php
    И где эту папку из-под которой конфигурировать искать?
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Это та папка в которую ты распакуешь скачанные сырцы :D
     
  5. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    Не не не, я про папку с пхп.
    Сырцы я-то устанавливаю (mhash например) в свою папку, но как передать их пыхе?
    То, что mhash.so появился в /usr/local/lib/php/ может это моя заслуга, а может это так было, я не знаю... А вот gdbm.so там не оказалось...

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

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Я тебе уже ответил - в папке с сырцами пхп.
    ./configure нужные параметры, в том числе и --with-mhash=путь к mhash
    есть замечательная команда ./configure --help

    А вообще есть такая штука, как маныhttp://ru2.php.net/mhash
     
  7. Albert22

    Albert22

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

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

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    :haha: :haha: :haha:
    Йопта, искать её надо на сайте php.net в разделе downloads.

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

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    Дружище, мне кажется мы запутались и друг друга не понимаем :)
    ПХП уже установлен, автоматически, я никакую директорию ему в процессе установки не указывал. Он сам стал и заработал. Если бы я вчера ему сказал стать в ту или иную папку, я бы не стал сегодня интересоваться её названием :)
    А так, он сам куда-то залез и я без понятия куда.
    Я пытался locate php5, пишет database too small...
    Я до поры до времени обхожусь ананизмом установки расширений через порты и указанием их в /usr/local/etc/php/extensions.ini, но жопой чую, что когда-то именно столкнусь с необходимостью поставить ручками, и хочу быть в курсе что да как
     
  10. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Я не знаю как тебе ещё объяснить, попробую последний раз:
    1. Посылаешь свой неизвестно как автоматически собранный PHP на йух
    2. Качаешь сырцы с php.net и распаковываешь
    3. заходишь в папку куда распаковал
    4. запускаешь configure c нужными тебе ключами
    5. делаешь make и sudo make install
    ВСЁ

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