Поки деякі ставлять php 5.3 , дістаючи його з могили, я вирішив не відставати про планети всієї, де сайти переводяться на сьому версію php, настільки нахвалює на просторах інтернету в тому числі і за високу швидкість роботи, і встановив сьогодні зі сховищ DotDeb. Треба сказати, приріст швидкості реально відчутний. Мої сайти та на WordPress, і на MODX стали літати таки. :) Ось як робив міграцію.
Зміст статті:
- Пакеты php из репозитория Dotdeb 1 Пакети php зі сховищ Dotdeb
- Удаляем php5 с сервера 2 Видаляємо php5 з сервера
- Тесты 3 Тести
Пакети php зі сховищ Dotdeb
Фішка пакетів php 7 з цього сховища в тому, що вони називаються php7.0-% packagename%. Тобто, можна відразу мати на сервері як php 5.6 пакунками Debian, так і сьому версію. І конфігураційні файли не перемішається, так як пакети з dotdeb зберігають їх в каталозі /etc/php/7.0/ і / etc / php / mods-available / для модулів.
При бажанні, ви можете ознайомитися з сайтом Dotdeb , але він англійською.
Викачуємо gpg ключ сховища.
# Wget https://www.dotdeb.org/dotdeb.gpg
Прописуємо репозиторії в файлі в каталозі /etc/apt/sources.list.d/dotdeb.list.
# Echo -e "deb http://packages.dotdeb.org jessie all \ ndeb-src http://packages.dotdeb.org jessie all"> /etc/apt/sources.list.d/dotdeb.list
Оновлюємо кеш пакетів.
# Aptitude update
Далі дивимося, що нам потрібно встановити. Наприклад, ваш сервер працює на основі php-fpm. Ок, ставимо його:
# Aptitude install php7.0-fpm
Якщо php, як модуль apache, то так:
# Aptitude install php7.0 libapache2-mod-php7.0
І інші пакети, за смаком.
# Aptitude install php7.0-mysql php7.0-curl php7.0-redis php7.0-gd
Якщо ви все встановлюєте з нуля, то наступні кроки, після установки, можна підглянути у відповідних інструкціях:
Видаляємо php5 з сервера
Якщо ж ви налаштовували сервер не з нуля, а вже з працюючими сайтами, то після міграції на php 7 ви, може бути, захочете взагалі видалити п'яту версію з сервера. Для початку потрібно дізнатися список встановлених пакетів php5:
# Dpkg -l | grep php5 | grep -w 5 | awk '{print $ 2}'
Потім видаляємо спочатку модулі.
# Aptitude purge php5-memcached php5-redis php5-curl
І, потім, основу:
# Aptitude purge php5-fpm php5-common
Це потрібно для запобігання помилки, коли спочатку видаляється php5-common, а dpkg при видаленні модуля намагається його відключити командою php5dismod, але у нього нічого не виходить. У підсумку, пакет ламається і не видаляється. У мене така ситуація сталася з модулем php5-memcached, коли видаляв всі пакети php відразу. :)
тести
Щоб на власні очі переконатися в швидкості роботи, запустив сферичний бенчмарк в вакуумі. Суб'єктивні результати його роботи теж приємно здивували. Запускалося на абсолютно однакових параметрах. Тільки різні версії php.
PHP 5.6, що поставляється з репозиторіїв Jessie
-------------------------------------- | PHP BENCHMARK SCRIPT | -------------------------------------- Start: 2016-04-25 12:01:06 Server: ok.kr.ua@127.0.0.1 PHP version: 5.6.19-0 + deb8u1 Platform: Linux -------------------------------------- test_math: 1.953 sec. test_stringmanipulation: 1.939 sec. test_loops: 1.149 sec. test_ifelse: 0.834 sec. -------------------------------------- Total time:: 5.875 sec.
PHP 7.0.5, що поставляється зі сховищ dotdeb
-------------------------------------- | PHP BENCHMARK SCRIPT | -------------------------------------- Start: 2016-04-25 11:59:53 Server: ok.kr.ua@127.0.0.1 PHP version: 7.0.5-1 ~ dotdeb + 8.1 Platform: Linux -------------------------------------- test_ifelse: 0.417 sec. test_loops: 0.556 sec. test_stringmanipulation: 0.767 sec. test_math: 0.554 sec. -------------------------------------- Total time:: 2.294 sec.
Не погано? Дуже навіть. WordPress, спочатку видавав швидкість генерації приблизно 0.160-0.220 став генерувати сторінки за приблизно 0.06-0.100 мс. І це на недорогий vds-ке з hdd. А що ще потрібно для щастя? :)
Ви пропустили команду установки ключа після його скачування
apt-key add dotdeb.gpg