Пакуль некаторыя ставяць 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 00:01:06 Server: amigoplus.ru@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: amigoplus.ru@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