Advertisement
  1. Code
  2. PHP
Code

Актуализирайте Linux сървъра си към PHP 7.0

by
Difficulty:IntermediateLength:ShortLanguages:

Bulgarian (Български) translation by Mihail Petrov (you can also view the original English article)

Final product image
What You'll Be Creating

Изображението е предоставено от PONTIER

Въведение

Седма версия на PHP бе официално представена в края на Декември 2015. След като вече сте локално възможностите му локално, вече е време за актуализиране на сървърната инфраструктура. В общи линии установих че почти всички сайтове който поддържам се държат доста добре, след ъпдейта.

Но въпреки това имам подозрения, че не са толкова много сайтовете които са направили крачка в тази посока. Ако работи на старите версии няма нужда да го пипаме. В интерес на истината, проучване проведено от  WordPress показва че доста малка част от приложенията, използващи платформата са преминали към най-актуалната версия на технологията.

"Към ноември 2016, повече от половината от сайтовете ползват версия PHP 5.5". "Само забележителните 3,4% от приложенията ползват последната актуална версия на PHP".

Но PHP 7 е факт повече от година.

Днес ще ви покажа тайните на миграцията към PHP 7 върху сървър с Ubuntu 14.x. Ще разгледаме решенията на някой често срещани проблеми с PHPMyAdmin, на които можете да се натъкнете по време на процедурата по ъпдейт.

Ако ползвате WordpPress силно препоръчвам да инсталирате плъгина PHP Compatibility Checker и да направите проверка на съвместимостта на вашите плъгини с версията на PHP.

Ще се радвам на обратна връзка от ваша страна. Ако имате въпроси или предложения, моля добавете ги като коментар.

Можете да ме намерите и в Twitter @reifman. Вашите предложения ще са особено ценни в този контекст в който персоналното потребителско изживяване ще бъде напълно уникално в дадената ситуация.

Мигриране на сървъра

Първите ми опити за миграция, удариха на камък главно поради факта, че ползвах официалният пътеводител на PHP. Ще ви предоставя серия от скриптове, които са тествани многократно и работят.

Искам да изразя благодарност за страхотните услуги предоставяни от Digital Ocean, даващи възможност за архивиране на активните услуги както и създаване на множество тестови инстанции.

Да започваме

Архивиране на текущите настройки

Препоръчително е да архивирате всичките си текущи настройки намиращи се в php.ini файла на текущата ви инсталация на PHP

Следната команда ще ви помогне да локализирате вашият php .ini файл.

Резултата е:

Локацията на Apache се намира в /etc/php5/apache2.

Премахнете PHP5 и всички свързани с тази версия пакети

Нека първо елиминираме всички стари PHP пакети. Добра практика е да елиминираме както PHP версия 5.5 така и 5.6.

Когато експериментирах, първоначално пропуснах тази стъпка и имах доста конфигурационни проблеми на по късен етап.

Добавяне на Personal Package Archive за PHP7 и PHPMyAdmin

Upgrading to PHP7 PPA for PHP70 by Ondej Sur

Направете актуализация на всички пакети, дистрибуции и премахнете всички ненужни файлове:

Можете да получите съобщение за грешка:

Експериментите ми  показват че рестартирането на системата елиминира проблема:

Инсталиране на PHP7

Време е за инсталиране на необходимите пакети: 

Необходимо е да мигрирате всички настройки във вашите конфигурационни файлове към /etc/php/7.0/apache2/php.ini

Необходимо е да се добави и пакета  extension=apc.so в php.ini файла.

Добавете следните настройки :

Деактивиране на PHPMyAdmin

Ако имате активна инстанция на PHPMyAdmin, ще срещнете проблеми при опит да презаредите Apache. Ако това е така е необходимо да деактивирате приложението.

Коментирайте следните редове:

Активирайте mcrypt и mbstring след което рестартирайте Apache.

Решението е тествано и работи коректно.

Преинсталиране на PHPMyAdmin

Време е да поправим текущата инсталация на PHPMyAdmin. Това се оказва препъни камък за доста хора. 

Първата стъпка беше да добавя следният пакет.

След което актуализирах пакетите на PHPMyAdmin.

След края на тази процедура всичко трябва да е наред.

Разкоментирайте, зареждането на PHPMyAdmin.

Както е показано тук:

Рестартирайте Apache:

Защитете инсталацията на PHPMyAdmin

Процедурата, която изпълнихме инсталира PHPMyAdmin на локацията му по подразбиране, което е изключително лоша идея, заради своята несигурност. Следвайте инструкциите за да подсигурите инсталацията на приложението.

Проверка на валидността на миграцията

Най-лесният начин за проверка е използването на директивата phpinfo(); с цел да се листне информацията за текущото състояние на системата.

Upgrading to PHP 7 phpinfo output

Заключение

Както видяхте процедурата не е много елементарна и изисква доста допълнителни настройки и трикове, за да постигнем необходимия резултат. Надявам се този урок да ви е дал полезни знания.

Ако сте харесали този ресурс, не се колебайте и разгледайте уроците от серията Програмиране с Yii2 и създаване на StartUP с PHP които представят цялостният път по изгаждането на моят start up Meeting Planner

Следвайте ме в Twitter @reifman и посетете страницата ми в сайта.

Референции и линкове

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.