mirror of
https://github.com/php/doc-ru.git
synced 2025-08-15 23:42:35 +00:00
113 lines
5.2 KiB
XML
113 lines
5.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: f033d4b76635f9582f6eb5505899e1f7fb2dd1a4 Maintainer: malferov Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<sect1 xml:id="install.unix.source" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<title>Установка из исходного кода в системы Unix и macOS</title>
|
||
<para>
|
||
Программное обеспечение, которое потребуется заранее установить для компиляции:
|
||
<simplelist>
|
||
<member>
|
||
<link xlink:href="&url.gnu.make;">GNU-пакет <command>make</command></link>
|
||
</member>
|
||
<member>
|
||
Компилятор языка C (начиная с PHP 8.0.0 требуется совместимость с C99; начиная с PHP 8.4.0 требуется совместимость с C11)
|
||
</member>
|
||
<member>
|
||
Веб-сервер
|
||
</member>
|
||
<member>
|
||
Компоненты, характерные для модуля, наподобие библиотек <acronym>GD</acronym>,
|
||
<acronym>PDF</acronym> и другие
|
||
</member>
|
||
</simplelist>
|
||
</para>
|
||
|
||
<para>
|
||
При сборке из исходного кода репозитория Git или после пользовательских модификаций
|
||
иногда требуются следующие дополнительные инструменты:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
Автоматический конструктор сценариев настройки
|
||
<link xlink:href="&url.gnu.autoconf;">autoconf</link>, версия которого соответствует версии PHP:
|
||
</simpara>
|
||
<simplelist>
|
||
<member>
|
||
PHP 7.3 и новее: 2.68+
|
||
</member>
|
||
<member>
|
||
PHP 7.2: 2.64+
|
||
</member>
|
||
<member>
|
||
PHP 7.1 и старше: 2.59+
|
||
</member>
|
||
</simplelist>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Генератор лексеров <link xlink:href="&url.re2c;">re2c</link>, версия которого соответствует версии PHP:
|
||
</simpara>
|
||
<simplelist>
|
||
<member>
|
||
PHP 8.3 и новее: 1.0.3+
|
||
</member>
|
||
<member>
|
||
PHP 8.2 и старше: 0.13.4+
|
||
</member>
|
||
</simplelist>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Генератор парсеров <link xlink:href="&url.bison;">bison</link>, версия которого соответствует версии PHP:
|
||
</simpara>
|
||
<simplelist>
|
||
<member>
|
||
PHP 7.4 и новее: 3.0.0+
|
||
</member>
|
||
<member>
|
||
PHP 7.3 и старше: 2.4+ (включая Bison 3.x)
|
||
</member>
|
||
</simplelist>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<simpara>
|
||
Процесс первоначальной установки и настройки PHP контролируется с параметрами
|
||
командной строки пакета настройки скриптов — <command>configure</command>.
|
||
Список доступных опций с краткими пояснениями
|
||
показывает запуск команды <command>./configure --help</command>.
|
||
Это руководство документирует опции отдельно.
|
||
Основные параметры описывает «<link linkend="configure.about">Список основных
|
||
опций конфигурации</link>», тогда как другие опции, характерные для модулей,
|
||
описывают справочные страницы.
|
||
</simpara>
|
||
|
||
<simpara>
|
||
После запуска скрипта конфигурации PHP собирают
|
||
командой <command>make</command>.
|
||
Раздел ЧАВО «<link linkend="faq.installation">Установка</link>» содержит
|
||
дополнительную информацию о разрешении проблем при сборке.
|
||
</simpara>
|
||
|
||
<note>
|
||
<simpara>
|
||
Из-за вопросов безопасности отдельные Unix-системы наподобие OpenBSD и SELinux
|
||
иногда запрещают отображение в памяти страниц, к которым открыт доступ и на запись,
|
||
и на выполнение. Такая защита называется <link xlink:href="&url.install.unix.pax-mprotect;">PaX MPROTECT</link>
|
||
или <link xlink:href="&url.install.unix.w-x-violation;">W^X-защита
|
||
от нарушений</link>.
|
||
Такое отображение памяти требуется для поддержки JIT-компиляции регулярных выражений PCRE-библиотек,
|
||
поэтому PHP собирают либо <link linkend="pcre.installation">без
|
||
поддержки JIT-компиляции регулярных выражений PCRE-библиотек</link>, либо вносят двоичный файл
|
||
в белый список доступными системе средствами.
|
||
</simpara>
|
||
</note>
|
||
|
||
<note>
|
||
<simpara>
|
||
Кросс-компиляция для ARM-архитектуры через набор инструментов Android пока не поддерживается.
|
||
</simpara>
|
||
</note>
|
||
</sect1>
|