Установка на Unix-системы
Содержание
Этот раздел описывает установку и настройку PHP на Unix-системах.
Пожалуйста, прочитайте все разделы, касающиеся вашей платформы
или веб-сервера, прежде чем вы приступите к установке.
Как сказано в разделе Общие указания по
установке, в этом разделе в основном мы описываем
установку PHP, ориентированную на веб, однако мы также затрагиваем
установку PHP для использования в командной строке.
Есть несколько способов установки PHP на Unix платформы.
Один из них - процесс конфигурирования и компиляции исходников, другой -
установка из пакетов. Этот документ сфокусирован на установке из
исходных кодов. Много Unix-подобных систем имеют различные системы установки программ из пакетов.
Они могут помочь при установке стандартных конфигураций, но если вам необходимы другие варианты
(такие как безопасный сервер или другой драйвер базы данных), вам может
потребоваться скомпилировать PHP и/или ваш веб-сервер.
Если вы незнакомы с компилированием собственного программного обеспечения,
то, может быть, стоит поискать готовый пакет PHP с нужными вам возможностями,
собранный кем-нибудь ещё.
Для компиляции PHP из исходных кодов вам потребуется следующее:
-
Базовые знания Unix (способность обращаться с "make" и компилятором C)
-
Компилятор ANSI C
-
Веб-сервер
-
Любые компоненты, специфичные для отдельных модулей PHP (такие как библиотеки GD,
PDF и т.д.)
При сборке непосредственно из исходников Git или после ручных
изменений вам может также понадобиться:
-
autoconf: 2.59+ (для PHP >= 7.0.0), 2.64+ (для PHP >= 7.2.0)
-
automake: 1.4+
-
libtool: 1.4.x+ (кроме версии 1.4.2)
-
re2c: 0.13.4+
-
bison:
-
PHP 7.0 - 7.3: 2.4 и выше (включая Bison 3.x)
-
PHP 7.4: > 3.0
Общая (или начальная) конфигурация PHP задаётся параметрами скрипта
configure. Вы можете просмотреть список допустимых
параметров вместе с их кратким пояснением при помощи команды
./configure --help.
Различные опции документированы в данном руководстве отдельно, список основных параметров
можно просмотреть в приложении Основные параметры конфигурации,
тогда как параметры, специфичные для различных модулей, описаны на страницах документации,
посвящённых этим модулям.
Когда PHP сконфигурирован, все готово к сборке модулей и/или
исполняемых файлов. Об этом должна позаботиться команда
make. Если что-то не получилось и вы не можете
понять почему, смотрите раздел Проблемы установки.
Замечание:
Некоторые Unix системы (такие как OpenBSD и SELinux) могут запрещать, из соображений
безопасности, выделение памяти одновременно как записываемой и исполняемой.
Это называется PaX MPROTECT или нарушение защиты W^X. Тем не менее, такой режим
выделения памяти необходим для поддержки JIT компиляции PCRE JIT, так что в таких
случаях необходимо собирать PHP без поддержки JIT компиляции PCRE,
либо бинарные файлы должны быть внесены в белый список операционной системы,
Замечание:
Кросс-компиляция под ARM с помощью "Android toolchain" на данный момент не поддерживается.