Наш партнер GENESIS HACKSPACE

Хакспейс: Клуб — физическое место, где собираются увлеченные техникой, IT, электроникой, роботами и физикой люди. Первая сеть бесплатных хакспейсов в г.Тверь и области.

Источник: https://www.howtoforge.com/tutorial/install-php-7-on-debian-8-jessie/

Если вы пользователь Windows, то обратитесь к статье "Как установить PHP 7 и как обновить до PHP 7 на Windows".

На текущий момент доступна уже вторая бета PHP 7. Согласно пресс-релизу, PHP 7 в два раза быстрее чем php 5.6 и в четырнадцать раз быстрее чем php 5.0. Новая версия PHP не на 100% совместима с PHP 5.x, поскольку были удалены некоторые устаревшие API. А поэтому хорошей идеей является начать тестировать все свои сайты на совместимость с этим новым релизом. Это можно сделать легко и без вовлечения всех сайтов на вашем сервере, если использовать функцию множества PHP версий в ISPConfig 3. Версия PHPможет быть выбрана в настройках веб-сайта ISPConfig 3 для каждого сайта индивидуально. Эта функция работает с PHP-FPM и FastCGI. Эта инструкция покажет как собрать новую PHP 7 (Beta) в качестве версий PHP-FPM и FastCGI на сервере Debian Jessie. Эта сборка PHP 7 включает Zend OPcache.

Предварительные замечания

Я буду устанавливать PHP 7, которая на текущий момент является бетой. Пожалуйста, помните, что PHP-FPM может быть использован как обоих серверов Apache и NginX, в то время как FastCGI доступна только для серверов Apache. С более старыми PHP версиями, PHP-FPM и FastCGI были взаимоисключающими, поэтому исполняемые файлы fpm и FastCGI собирались отдельно. С версии PHP 7 все исполнимые файлы могут быть собраны вместе, поэтому теперь нам нужно сделать всего лишь один билд PHP.

Компилирование PHP 7 с PHP-FPM и Fastcgi

Загружаем и извлекаем PHP 7:

Устанавливаем зависимости для сборки PHP 7 и редактор Vim, который я буду использовать для редактирования конфигурационных файлов:

(последняя команда необходима если вы собираете PHP с —with-imap, поскольку в противном случае ./configure остановится со следующей ошибкой:

)

Настраиваем и собираем PHP 7.0.0 как показано ниже (вы можете настроить команду ./configure под свои нужды, взгляните сюда:

чтобы увидеть все доступные опции; если вы используете иную команду ./configure, вполне возможно, что понадобятся дополнительные библиотеки или что процесс закончится неудачей):

Последний переключатель (—enable-fpm) явным образом покажет PHP, что у нас будет версия с PHP-FPM.

Скопируйте php.ini и php-fpm.conf куда нужно:

Откройте /opt/php-7.0.0/etc/php-fpm.conf отредактируйте следующие настройки (удалите # перед строкой с pid):

Затем откройте /opt/php-7.0.0/etc/php-fpm.d/www.conf и отредактируйте строку listen, вы должны использовать не используемый порт (например, 8999; порт 9000 должен быть уже использован дефолтной Debian'овской PHP-FPM):

Debian поддерживает Systemd как и традиционные скрипты init. Для начала я создам скрипт init для службы php-fpm а затем я создам systemd unit.

Для создания скрипта init для PHP-FPM:

Делаем скрипт init исполнимым и создаём ссылки на системный автозапуск:

А теперь создаём файл systemd unit

со следующим содержанием:

И перезапускаем systemd:

Наконец, запускаем PHP-FPM.

Для систем с традиционным init system, запустите:

Результатом должно быть:

На серверах, которые используют systemd, используйте вместо этого команду:

Для включения Zend OPcache, откройте /opt/php-7.0.0/lib/php.ini…

… и добавьте следующий строки в конце:

До сих пор расширения memcache и APCu не могут быть установлены на PHP 7, поэтому сейчас я пропущу их установку. Я обновлю инструкцию позже, когда расширения pecl будут совместимы с PHP 7.

Включение PHP 7 в ISPConfig

В ISPConfig 3 вы можете настроить новую версию PHP в System > Additional PHP Versions. Во вкладке Name, вы должны ввести имя для этой версии PHP (например, PHP 7.0.0) — это имя PHP будет представлено в списке в настройках веб-сайта в ISPConfig:

php7_1

Переходим к вкладке FastCGI Settings и заполняем поля следующим образом:

Path to the PHP FastCGI binary: /opt/php-7.0.0/bin/php-cgi

Path to the php.ini directory: /opt/php-7.0.0/lib

php7_fcgi

Затем идём во вкладку PHP-FPM Settings и заполняем поля следующим образом:

Path to the PHP-FPM init script: /etc/init.d/php-7.0.0-fpm

Path to the php.ini directory: /opt/php-7.0.0/lib

Path to the PHP-FPM pool directory: /opt/php-7.0.0/etc/php-fpm.d

php7_fpm

Похожие темы

PHP 7: что нового и когда выйдет... Материал в этой статье устарел. По сути, здесь изложены догадки о PHP 7, когда ещё не были доступны альфы. На текущий момент доступна уже втора...
Форма обратной связи с использованием AJAX, отправ... Обновление от 18.09.2015: изменён исходный код примера - теперь не нужно перезагружать страницу даже если через форму отправляется файл. Это небольшой...
Как сбросить пароль root MariaDB? Вы забыли ваш рут пароль от СУБД MariaDB? Не беспокойтесь, есть простой способ сбросить ваш пароль менее чем за 5 минут. Эта статья проведёт вас чер...
Apache 2.4 VC14: новый компилятор и другие изменен... Apache Lounge компилирует для нас, точнее для операционной системы Windows, актуальные бинарники веб-сервера Apache. Делают они это уже более десяти...
Эмуляция сети из нескольких компьютеров на одном к... Эта инструкция небольшая, но очень полезная. Она пригодится: тестировщикам на проникновение и хакерам: для сканирования с одной операционной си...