Не так давно появилась новая версия одного из самых популярных скриптовых языков программирования на просторах веб — PHP 7. Очень долго разработчики развивали пятую версию и было выпущено несколько минорных релизов, но, в конце концов, было решено пропустить шестой номер версии, и сразу выпустить PHP 7.0. Эта версия приносит множество полезных нововведений, о которых мы поговорим ниже.
Учитывая что CentOS — это очень стабильный дистрибутив, то его пользователи получат только в следующей версии. В этой статье мы рассмотрим как выполняется установка PHP 7 CentOS 7.
Что нового в PHP 7
Новая версия PHP получила множество нововведений, но что самое главное для новых пользователей — очень сильную оптимизацию. Разработчики переработали кодовую базу и добавили новые алгоритмы, что дало прирост производительности в два раза, также уменьшено потребление памяти вполовину. Кроме того, были добавлены некоторые новые возможности:
- Импорт пространств имен группами;
- Добавлена возможность присвоить значение по умолчанию если переменная пустая;
- В классах можно указывать ожидаемые типы данных для методов;
- Добавлены анонимные классы;
- Добавлена возможность создавать Escape последовательности для unicode;
- Улучшены генераторы;
Но что более важно для нас, это те функции и возможности, которые были удалены. Это необходимо знать перед переходом на новую версию чтобы избежать возможных проблем с совместимостью ваших проектов. Из языка полностью удалены такие расширения:
- interbase;
- mssql;
- oci8;
- pdo_dblib;
- pdo_oci;
- sybase_ct;
Расширение ereg считается устаревшим, а imap и mcrypt пока поддерживаются, но, видимо, ненадолго. Также были убраны устаревшие теги: <%, <%=, <script language=»php»> больше они не работают. Классы и интерфейсы больше нельзя именовать именами типов данных. Также изменен синтаксис работы с возвращаемыми методами данными. В основном это все, если ваш проект не содержит всех этих проблем, то вы можете спокойно переходить на PHP 7. Такие популярные CMS, как WordPress, Zend, Yii, Symfony и множество других уже давно поддерживают PHP 7. А теперь рассмотрим как установить PHP 7 CentOS 7.
Установка PHP CentOS 7
Мы будем использовать репозиторий Remi для установки PHP. Но перед тем как мы сможем его подключить, нам понадобиться дополнительно репозиторий EPEL:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Дальше устанавливаем сам репозиторий Remi:
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
После установки смотрим доступные репозитории Remi:
ls /etc/yum.repos.d/remi*
Как видите, есть несколько версий php, сейчас мы можем активировать php 7.1, для этого откройте соответствующий файл, найдите секцию [remi-php71], в ней найдите enabled и поменяйте значение с 0 на 1:
vi /etc/yum.repos.d/remi-php71.repo
Теперь самое интересное — установка php 7.1 centos 7. Если у вас уже установлена старая версия php, то вам не нужно ничего удалять, вы можете просто обновить систему и получите то, что нужно:
sudo yum update
Если же никакая версия php не установлена, просто установите нужные пакеты:
sudo yum install php php-fpm php-gd php-mysql
После завершения работы команды вы получите готовую и работающую версию php, и вы можете использовать ее для своего веб-сервера Apache или Nginx. Если вы используете Apache, то даже ничего перенастраивать не придется. Если вы используете подключение по сетевому сокету в Nginx, то вам нужно будет только перезапустить php-fpm:
sudo systemctl restart php-fpm
В случае с файловым сокетом, еще нужно будет прописать правильный путь к новому сокету. И даже когда в репозиториях CentOS 7.4 появиться эта версия PHP, все равно будет выгоднее использовать этот репозиторий, потому что тут уже будет более новая версия.