Встановлення на 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" на даний момент не підтримується.