PHP/ru

PHP — это язык сценариев общего назначения, предназначенный для создания сценариев на стороне сервера с целью динамического создания веб-страниц.

USE-флаги
Существует глобальный USE-флаг  для включения поддержки PHP в других пакетах. Включение этого USE-флага автоматически установит пакет после обновления глубоких зависимостей в наборе @world. Сначала установите глобальный USE-флаг в :

Наиболее важные USE-флаги пакета PHP, USE-флаги SAPI (Server API), это, и. Помимо этих USE-флагов, существует множество других USE-флагов, предназначенных для включения различных возможностей в интерпретатор PHP:

По умолчанию ebuild устанавливает development версию. Для того, чтобы установить production версию, у которой более строгие настройки безопасности, но с помощью которой может быть сложнее отлаживать приложения, добавьте следующее в файл :

Обе версии можно найти в.

После изменения предпочтительной версии следует переустановить PHP с помощью команды, приведенной ниже, в разделе Emerge.

Расширения
Чтобы установить расширения, прежде всего определите, для каких версий PHP их следует скомпилировать. Это реализуется посредством установки переменной PHP_TARGETS :

Можно указать более одной версии; просто добавьте дополнительные версии, разделенные пробелами. Обратите внимание, что слот php называется "5.6", а соответствующее значение PHP_TARGETS —. Причина этого — в текущих ограничениях имен USE.

Emerge
После настройки USE-флагов, как показано выше, необходимо обновить систему, чтобы изменения вступили в силу:

Запуск нескольких версий PHP
Одно из больших преимуществ использования Gentoo для разработки PHP — слотирование версий. Переключаться между несколькими версиями PHP очень просто, также как одновременно запускать несколько версий. Все это осуществляется с помощью команды, предоставляемой пакетом , который должен автоматически устанавливаться при установке PHP. Например, выбор нескольких версий PHP позволяет системе использовать PHP 7.0 для cli и PHP 5.6 для веб-сервера. Это также позволяет быстро протестировать приложение на разных версиях PHP.

Чтобы вывести доступные версии для cli SAPI, используйте команду:

Версия, отмеченная символом, является текущей активной версией. Чтобы посмотреть другие SAPI, замените  на ,   или.

Чтобы переключить версию:

Номер  в этом примере соответствует номеру из вывода суб-команды , приведенной выше. PHP версии 7.0 теперь используется для командной строки:

Конфигурация
Конфигурация PHP находится в каталоге, который содержит один подкаталог для каждого SAPI и для каждой версии PHP. Например, конфигурационные файлы для PHP-5.6 apache2 SAPI устанавливаются в.

Веб-серверы
Чтобы использовать PHP на стороне сервера, веб-сервер должен быть установлен и настроен для использования PHP. Далее кратко рассматривается несколько популярных веб-серверов.

Nginx
Просто скомпилируйте nginx, чтобы установить его:

После установки Nginx измените раздел сервера в примерно таким образом:

Теперь запустите соответствующие сервисы, чтобы получить рабочий сайт. Сценарий инициализации запускает PHP FastCGI Process Manager. FastCGI позволяет веб-серверам передавать вычисления PHP этому менеджеру процессов.

lighttpd
Убедитесь в том, что lighttpd собран с поддержкой  и USE-флаг   выключен:

Lighttpd устанавливает конфигурационный файл FastCGI по умолчанию, но, к сожалению, он работает только со старым PHP FCGI SAPI, а не с общей установкой FCGI. Поскольку USE-флаг  был выключен, этот файл не будет установлен. Тем не менее, он является хорошей основой для конфигурационного файла, который можно использовать с FPM.

Отредактируйте :

Обратите внимание на строки  и.

Поскольку в Gentoo входит рабочий файл, находящийся в , и сценарий инициализации, все, что требуется, это запустить сервисы:

Apache (mod_php)
Чтобы Apache загружал модуль PHP5 (mod_php), добавьте  в переменную APACHE2_OPTS в. Возможно, пользователи помнят, что раньше было необходимо также добавлять версию PHP (например, ). Однако начиная с версии 0.8.1 переменная была изменена на , чтобы упростить интеграцию будущих крупных версий.

Убедитесь в том, что PHP собран с USE-флагом.

Если по какой-либо причине в системе отсутствует файл интеграции модуля PHP, в настоящее время предоставляемый пакетом , если он установлен с USE-флагом , добавьте его вручную. Ниже показано его текущее содержимое.

Хотя в системе может быть установлено несколько версий PHP, Apache может использовать только одну версию PHP. Команда используется для переключения активных версий PHP.

Смотрите также

 * Upgrading to PHP 5.6, руководство по обновлению старых установок до версии 5.6
 * Включение поддержки PHP в статье Apache