PHP/ru

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

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

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

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

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

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

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

For example, selecting different versions of PHP can allow a system to run PHP 7.0 for the cli SAPI but PHP 5.6 for the system's web server. It also allows system administrators or application developers to quickly test an application on different versions of PHP.

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

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

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

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

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

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

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

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

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

When running OpenRC as the service manager:

For systemd:

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

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

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

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

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

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

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

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

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

To change the version of PHP handled by Apache, first list the available versions for the  Server Application Programming Interface (SAPI):

Change it to the version of choice:

Substitute  in the example above to the requested number in the output of  as displayed earlier on.

To verify the PHP module works, create a test page:

Now, suppress or rename and open the test page:

A table describing the PHP settings should be visible.

Apache (fcgid)
See enabling PHP through fcgid in the Apache article.

Apache (mod_proxy_fcgi)
See enabling PHP-FPM through mod_proxy_fcgi in Apache 2.4.

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

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

External resources

 * Running Multiple Versions of PHP Using Apache on Gentoo