Установка PHP 7 на VESTA CP под CentOs 6

Недавно я опубликовал заметку, в которой рассмотрел бесплатную панель управления хостингом: Vestа CP. Рассказал как установить ее на виртуальную машину арендованную у хостера simplecloud и базово оптимизировать для работы с 1С Битрикс

В частности: как установить opcache на сервер и очень примерно оптимизировать работу php, базы данных и системы кеширования

Однако, прогресс не стоит на месте, а VESTA CP что-то немного затормозила. На дворе, уже давно, работает PHP 7. Потому, в данной заметке расскажу как заменить PHP-5 на PHP-7 на уже работающем сервере с данной хостинг панелью.

Исходные данные:

Эти данные, написаны для тех кто, все еще, сомневается по поводу необходимости перехода на PHP-7

В этот раз, я установил VESTA на локальную виртуальную машину под CentOS-6, под VMware Workstation

Конфигурация хост компьютера:
— Процессор: Core i7 6700
— Оперативная память: 32Гб DDR-4
— Системый диск: 250Гб SSD
— Виртуальная машина хранится на HDD 5200 оборотов

Конфигурация виртуальной машины:
— Выделено 2 ядра процессора
— Оперативная память: 2Гб
— Системый диск 300Гб
— Сеть в режиме репликации с мостом

Внутри хостинг панели запущен только один сайт, с 1С-Битрикс редакции Бизнес и типовым решением, из коробки- Магазин Одежды +

Вот такие результаты производительности выдало решение на PHP-5

А вот такие сразу после установки PHP-7. Больше ни какие параметры не подкручивались:

Устанавливаем PHP-7 на VESTA CP

Итак: Все просто и по шагово:

Шаг 1 – Устанавливаем обновления (на всякий случай).
yum update -y

Шаг 2 – Добавляем репозиторий webtatic repository для CentOS 6.x:
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

Шаг 3 – Останавливаем apache и удаляем старый php:
service httpd stop
yum -y remove php

Шаг 4 - Устанавливаем PHP-7 и все необходимые пакеты
yum install php70w-cli php70w-common php70w-bcmath php70w-dba php70w-devel php70w-embedded php70w-fpm php70w-gd php70w-imap php70w-interbase php70w-intl php70w-ldap php70w-mbstring php70w-mcrypt php70w-mysql php70w-odbc php70w-opcache php70w-pdo php70w-pdo_dblib php70w-pear php70w-process php70w-pspell php70w-recode php70w-tidy php70w-xml php70w-xmlrpc

Шаг 5 - Останавливаем старый php-fpm и запускаем новый
service php-fpm stop
service php70-php-fpm start

Шаг 6 - Создаём символическую ссылку на новый PHP
ln -s /usr/bin/php70 /usr/bin/php

В общем-то и все, пере запускаем сервер и наслаждаемся работой.

Важное дополнение: php.ini для PHP-7

Учтите один важный момент, файл настроек php.ini и конфиг opcache находятся не в стандартном расположении.
php.ini: /etc/php.ini и /etc/php.d/10-opcache.ini

PHP-7 берет настройки по путям
— /etc/opt/remi/php70/php.ini
— /etc/opt/remi/php70/php.d/10-opcache.ini

Так что не забудьте перенести свои, уже оптимизированные конфигурации в данные файлы

Почему CentOS-6 а не CentOs-7

Банально просто, меня не устроила производительность. Возможно, все дело в не очень оптимизированной, для CentOS-7 VestaCP или в каких-то иных причинах.

Но как не старался, после трехдневных попыток все настроить, даже при PHP-7 Битрикс выдавал производительность ниже чем на PHP-5 под CentOS 6. А под PHP-5 еще хуже.

Возможно, разберусь чуть позже

Скачать виртуальную машину с VestaCP и PHP-7

Прикладываю готовый образ виртуальной машины, под CentOS 6. Соотвественно установлена самая свежая хостинг панель VESTA, PHP-7. Сервер оптимально оптимизирован под использование с 1С-Битрикс.

Собственно, конфигурацию машины и результат производительности вы видели выше

Скачать образ для Wmvare

Доступы:
Пароль root qwerty123
Админ доступ в панель: admin qwerty123

Внутри хостинг панели чисто, ни сайтов ни баз данных нет

PS: CentOS установлена с графической оболочкой....даже не знаю почему поставил не минимальную сборку, просто так интереснее ;)

Кого напрягает графическая оболочка (в общем-то и ресурсы жрет):

Открываем файл по пути:
/etc/inittab
В конце файла меняем
— id:5:initdefault:
на
— id:3:initdefault:
и презагружаем

Добавлено позже

Если вам, по какой-то причине нужно наличие обеих версий PHP. С возможностью выбора. Можно воспользоваться скриптом от разработчиков Vesta CP

Выполняем команды
wget http://mirror.skamasle.com/vestacp/PHP/sk-phpinstaller_beta02_3.sh
bash sk-phpinstaller_beta02_3.sh

Все, теперь у вас будут все версии PHP в настройках пакетов (грубо говоря тарифов) в панели

Все заметки
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей

Зарегистрироваться Войти
Напомнить пароль

Быстрая регистрация через соц.сеть:
Михаил Базаров
У кого phpmyadmin не хочет работать из за установок кодировки mbstring.overload
Идете в настройки виртуального хоста phpmyadmin и вносите данные


Код
<IfModule mod_php7.c>
    php_admin_value mbstring.func_overload 0
</IfModule>
 
Сергей Стефанович
Цитата
Михаил Базаров пишет:

   php_admin_value mbstring.func_overload 0
в какой именно файл добавить запись?
Сергей Стефанович
/etc/httpd/conf/httpd.conf
не помогает !
Михаил Базаров
Цитата
Сергей Стефанович написал:
/etc/httpd/conf/httpd.conf
не помогает !
Сходу не вспомню, но не туда. В настройки виртуального хоста именно phpmyadmin - а
Что-то вроде /etc/phpmyadmin/apache/httpd.conf
Сергей Стефанович
Цитата
Михаил Базаров пишет:
Цитата
Сергей Стефанович написал:
/etc/httpd/conf/httpd.conf
не помогает !
Сходу не вспомню, но не туда. В настройки виртуального хоста именно phpmyadmin - а
Что-то вроде /etc/phpmyadmin/apache/httpd.conf
Нету там такого. Посмотрите пожалуйста!
Сергей Стефанович
Цитата
Сергей Стефанович пишет:
Цитата
Михаил Базаров пишет:
Цитата
Сергей Стефанович написал:
/etc/httpd/conf/httpd.conf
не помогает !
Сходу не вспомню, но не туда. В настройки виртуального хоста именно phpmyadmin - а
Что-то вроде /etc/phpmyadmin/apache/httpd.conf
Нету там такого. Посмотрите пожалуйста!
Все. Разобрался сам))
Михаил Базаров
Цитата
Сергей Стефанович пишет:
Цитата
Сергей Стефанович пишет:
Цитата
Михаил Базаров пишет:
Цитата
Сергей Стефанович написал:
/etc/httpd/conf/httpd.conf
не помогает !
Сходу не вспомню, но не туда. В настройки виртуального хоста именно phpmyadmin - а
Что-то вроде /etc/phpmyadmin/apache/httpd.conf
Нету там такого. Посмотрите пожалуйста!
Все. Разобрался сам))
Напишите для будущих поколений) Не оставляйте в себе
Fidget
Привет.

При настройке opcache для php 7 выдается такая ошибка:
Failed loading /usr/lib64/php/modules/opcache.so:  /usr/lib64/php/modules/opcache.so: undefined symbol: zend_opcode_handlers

Кто-нибудь сталкивался?
Сергей Стефанович
Цитата
Михаил Базаров пишет:
Цитата
Сергей Стефанович пишет:
Цитата
Сергей Стефанович пишет:
Цитата
Михаил Базаров пишет:
Цитата
Сергей Стефанович написал:
/etc/httpd/conf/httpd.conf
не помогает !
Сходу не вспомню, но не туда. В настройки виртуального хоста именно phpmyadmin - а
Что-то вроде /etc/phpmyadmin/apache/httpd.conf
Нету там такого. Посмотрите пожалуйста!
Все. Разобрался сам))
Напишите для будущих поколений) Не оставляйте в себе
phpmyadmin так и не открывается, но БД работает!
правим /etc/httpd/conf/httpd.conf
Михаил Базаров
Цитата
Сергей Стефанович написал:
Цитата
Михаил Базаров  пишет:
Цитата
Все. Разобрался сам))
Напишите для будущих поколений) Не оставляйте в себе
phpmyadmin так и не открывается, но БД работает!
правим /etc/httpd/conf/httpd.conf
Завтра посмотрю, если вспомню- что то я там специально делал, что бы phpmyadmin заработал. Допишу в заметку
Михаил Базаров
Цитата
Fidget написал:
Привет.

При настройке opcache для php 7 выдается такая ошибка:
Failed loading /usr/lib64/php/modules/opcache.so:  /usr/lib64/php/modules/opcache.so: undefined symbol: zend_opcode_handlers

Кто-нибудь сталкивался?

По моему, opcache должен лежать в папке типа /usr/lib64/php7/modules/opcache.so

© 2011—2017 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.

Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой.
Политика конфеденциальности