За последние 24 часа нас посетили 17345 программистов и 1595 роботов. Сейчас ищет 901 программист ...

Сборка расширений PHP с исходников под UNIX

Тема в разделе "Установка PHP", создана пользователем Ti, 14 янв 2008.

  1. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Внимание! При установке расширения этим способом вы лишаете себя автоматического обновление этого расширения(а то и всего PHP) системой пакетов вашего дистрибутива!
    Если вам важнее автоматическое обновление - устанваливайте расширение согласно с вашей системой пакетов.

    Иногда необходимо собриать php под себя, руками. В другом случае расширения может не оказатся в системе пакетов.
    Ниже изложены действия которые позволят добавить расширение без перекомпиляции всего PHP.

    Перед установкой расширения желательно прочитать INSTALL или README из директории расширения.

    1. Убедитесь что установлен PHP.

    2. Распакуйте исходники расширения.
    2.1 Если расширение входит в стандартную поставку, распакуйте исходники PHP (версия должна совпадать с установленной)
    Код (Text):
    1. $ tar -xjf php-x.x.x.tar.bz2
    2.2 Если исходники расширения поставляются отдельно от исходников PHP - распакуйте их в удобное место (php-x.x.x.tar.bz2 в этом случае можно не распаковывать - вам нужны лишь исходники расширения)

    3. Перейдите в директорию расширения.
    В случае расширения из стандартной поставки это будет:
    Код (Text):
    1. $ cd php-x.x.x/ext/название_расширения
    4. Выполните phpize, чтобы создать configure файлы.
    Код (Text):
    1. $ phpize
    5. Сконфигурируйте расширение. Если во время конфигугирования возникнут ошибки - устраните их и снова сконфигурируйте пока не останется сообщений об ошибках.
    Код (Text):
    1. $ ./configure
    6. Скомпилируйте расширение.
    Код (Text):
    1. $ make
    7. Установите расширение (от пользователя root).
    Код (Text):
    1. # make install
    8. Проверить расширение можно командой (не должно быть никаких сообщений об ошибках):
    Код (Text):
    1. $ php -r 'dl("название_расширения.so");'
    9. Добавьте расширение в php.ini
    Код (Text):
    1. extension=название_расширения.so
    10. Перезапустите демоны использующие PHP что бы они подгрузили новое расширение (например, apache)
    Код (Text):
    1. # apachectl -k restart
    11. Можно удалить все что распаковали

    Если что либо пойдет не так - прежде всего обратитесь к файлам INSTALL или README расширения


    --
    С уважением, Ti. Специально для php.ru