Установка из исходного кода в системы Unix и macOS

Программное обеспечение, которое потребуется заранее установить для компиляции:

  • » GNU-пакет make
  • Компилятор языка C (начиная с PHP 8.0.0 требуется совместимость с C99; начиная с PHP 8.4.0 требуется совместимость с C11)
  • Веб-сервер
  • Компоненты, характерные для модуля, наподобие библиотек GD, PDF и другие

При сборке из исходного кода репозитория Git или после пользовательских модификаций иногда требуются следующие дополнительные инструменты:

  • Автоматический конструктор сценариев настройки » autoconf, версия которого соответствует версии PHP:
    • PHP 7.3 и новее: 2.68+
    • PHP 7.2: 2.64+
    • PHP 7.1 и старше: 2.59+
  • Генератор лексеров » re2c, версия которого соответствует версии PHP:
    • PHP 8.3 и новее: 1.0.3+
    • PHP 8.2 и старше: 0.13.4+
  • Генератор парсеров » bison, версия которого соответствует версии PHP:
    • PHP 7.4 и новее: 3.0.0+
    • PHP 7.3 и старше: 2.4+ (включая Bison 3.x)

Процесс первоначальной установки и настройки PHP контролируется с параметрами командной строки пакета настройки скриптов — configure. Список доступных опций с краткими пояснениями показывает запуск команды ./configure --help. Это руководство документирует опции отдельно. Основные параметры описывает «Список основных опций конфигурации», тогда как другие опции, характерные для модулей, описывают справочные страницы.

После запуска скрипта конфигурации PHP собирают командой make. Раздел ЧАВО «Установка» содержит дополнительную информацию о разрешении проблем при сборке.

Замечание: Из-за вопросов безопасности отдельные Unix-системы наподобие OpenBSD и SELinux иногда запрещают отображение в памяти страниц, к которым открыт доступ и на запись, и на выполнение. Такая защита называется » PaX MPROTECT или » W^X-защита от нарушений. Такое отображение памяти требуется для поддержки JIT-компиляции регулярных выражений PCRE-библиотек, поэтому PHP собирают либо без поддержки JIT-компиляции регулярных выражений PCRE-библиотек, либо вносят двоичный файл в белый список доступными системе средствами.

Замечание: Кросс-компиляция для ARM-архитектуры через набор инструментов Android пока не поддерживается.

Добавить примечание

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top