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

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

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

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

Процес установки PHP 5 описаний в наступних посібниках:

  • Як встановити стек Linux, Apache, MySQL, PHP (LAMP) на CentOS 7
  • Як встановити стек Linux, Nginx, MySQL, PHP (LEMP) на CentOS 7

Оскільки PHP 7.x поки не доступний в офіційних сховищах для масового поширення, ми будемо використовувати сторонній джерело. Файли PHP 7 RPM доступні в декількох сховищах. Ми скористаємося сховищем IUS.

IUS пропонує сценарій установки для підписки на їх сховище і імпортування відповідних ключів GPG. Переконайтеся, що ви перебуваєте в своєму домашньому каталозі, і витягніть сценарій за допомогою curl:

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

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

Видаліть існуючі пакети PHP. При появі на екрані запиту натисніть y і потім Enter, щоб продовжити.

Встановіть нові пакети PHP 7 з IUS. У відповідь на запит знову натисніть y і потім Enter.

І нарешті, перезапустіть Apache, щоб завантажити нову версію mod_php:

За допомогою systemctl ви можете перевірити статус Apache, який управляється компонентом httpd systemd:

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

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

Видаліть существуюіщіе пакети PHP. При появі на екрані запиту натисніть y і потім Enter, щоб продовжити.

Встановіть нові пакети PHP 7 з IUS. При появі на екрані запиту знову натисніть y і Enter.

По завершенні установки вам потрібно буде внести кілька змін в конфігурації PHP-FPM і Nginx. Згідно конфігурації, PHP-FPM перехоплює з'єднання на локальному TCP-сокеті, а Nginx очікує доменний сокет Unix, який показує шлях в файлової системі.

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

Потім переконайтеся, що Nginx використовує вірний шлях до сокету для роботи з файлами PHP. Для початку відкрийте /etc/nginx/conf.d/default.conf:

php-fpm.conf задає upstream-код, на який можуть посилатися інші конфігураційні директиви Nginx.

Вийдіть і збережіть файл, потім відкрийте /etc/nginx/conf.d/default.conf:

Знайдіть блок, що починається з location

Вийдіть і збережіть файл, а після перезапуску PHP-FPM і Nginx, щоб нові конфігураційні директиви вступили в силу:

Ви можете перевірити статус кожної служби за допомогою systemctl:

тестування PHP

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

Ви також можете створити тестовий файл в корені документа веб-сервера. Незважаючи на те, що його розташування залежить від конфігурації вашого сервера, корінь документа зазвичай знаходиться в одному з цих каталогів:

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

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

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

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

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

Схожі статті