Оновлення до php 7 на ubuntu

Увага: Як і в більшості випадків з випуском нової версії мови, краще трохи почекати, перш ніж оновлюватися до PHP 7 в продакшені. За цей час можна протестувати свої додатки на сумісність з новою версією, виконати тести продуктивності і ознайомитися з новими функціями мови.

Якщо у вас є інші сервіси або додатки з активними користувачами, то краще спочатку провести тестування.

Необхідні умови

Для цілей цього керівництва передбачається, що ви використовуєте PHP 5.x на Ubuntu 14.04, використовуючи або mod_php разом з Apache, або PHP-FPM разом з Nginx. Також передбачається, що для виконання адміністративних завдань у вас є конфігурувати користувач non-root з привілеями sudo.

Додавання сховища PPA для пакетів PHP 7.0

Архів персональних пакетів, або PPA, це apt-сховище, розташоване на Launchpad. PPA дозволяє стороннім розробникам створювати і поширювати пакети для Ubuntu за межами офіційних каналів. Нерідко такі сховища виступають в якості корисних джерел бета-програм, змінених версій, і бекпортов для більш ранніх версій операційної системи.

Ондрей Сури (Ondrej Sury) підтримує пакети PHP для Debian і пропонує сховище PPA для PHP 7.0 на Ubuntu. Для початку вам необхідно зареєструватися в системі та додати це сховище PPA в apt-джерела вашої системи:

Ви побачите опис сховища PPA, а потім на екрані з'явиться запит на продовження. Натисніть Enter, щоб продовжити.

Після установки сховища PPA поновіть кеш локального пакета:

Тепер, коли у нас є доступ до пакетів для PHP 7.0, ми можемо замінити існуючу версію PHP.

Оновлення mod_php для системи з Apache

У цьому розділі описано процес оновлення для системи, що використовує Apache в якості веб-сервера і mod_php для виконання PHP-коду. Якщо ж ви використовуєте Nginx і PHP-FPM, відразу переходите до наступного розділу.

Спочатку встановіть нові пакети. Так ви відновите все важливі пакети PHP, за винятком php5-mysql. який буде знищений.

Примітка: Якщо ви внесли суттєві зміни в будь-які файли конфігурації в / etc / php5 /. ці файли як і раніше на місці, і на них можна посилатися. Файли конфігурації для PHP 7.0 тепер знаходяться в /etc/php/7.0.

Якщо ви використовуєте MySQL, повторно додайте PHP MySQL:

Оновлення PHP-FPM для системи з Nginx

У цьому розділі описується процес оновлення для системи, що використовує Nginx в якості веб-сервера і PHP-FPM для виконання PHP-коду.

Спочатку встановіть новий пакет PHP-FPM і його залежності:

На екрані з'явиться запит на продовження. Натисніть Enter, щоб завершити установку. Якщо ви використовуєте MySQL, а потім встановіть PHP MySQL:

Примітка: Якщо ви внесли значні зміни до будь-які файли конфігурації в / etc / php5 /. ці файли як і раніше на місці, і на них можна посилатися. Файли конфігурації для PHP 7.0 тепер знаходяться в /etc/php/7.0.

Оновлення сайту (сайтів) Nginx з метою використання нових шляхів до сокета

Nginx взаємодіє з PHP-FPM за допомогою доменного Unix-сокета. Сокети прокладають шлях в файлової системі, і наш PHP 7 за умовчанням використовує новий шлях:

Ваша конфігурація може трохи відрізнятися. Знайдіть блок, що починається з location

Вийдіть і збережіть файл. У nano ви можете використовувати Ctrl-X для виходу, y для підтвердження, і Enter для підтвердження перезаписуваного імені файлу.

Повторіть цей процес для інших віртуальних сайтів, заданих в / etc / nginx / sites-enabled. які повинні підтримувати PHP.

Тепер ми можемо запустити nginx:

тестування PHP

Тепер, коли веб-сервер конфигурирован і нові пакети встановлені, ми повинні переконатися, що PHP працює. Почніть з перевірки встановленої версії PHP в командному рядку:

За допомогою nano відкрийте новий файл під ім'ям info.php в корені документа. За замовчуванням, на Apache це буде виглядати наступним чином:

На Nginx можна використовувати наступне:

Вставте цей код:

Ви побачите версію PHP і конфігураційну інформацію для PHP 7. Перевіривши цей момент, краще видалити info.php:

висновок

Тепер ви переконалися, що PHP 7 працює. Далі ви можете ознайомитися з постом Еріки Хайді Підготовка до PHP 7. а також з офіційним керівництвом щодо переходу від більш ранніх версій PHP до пізніших.

Схожі статті