PHP 7.0 и PHP 5.6 на одном сервере

php-v7-logo

Внимание! Для полной установки и настройки веб-сервера, перейдите СЮДА

В последней версии Ubuntu 16.04 Xenial в репозитория пропал PHP 5.6, т.к. уже давно полноценно работает новая версия — PHP 7.0.

Но возможно кому то, как и мне (я не успел еще протестировать свои приложения на новой версии)  нужен php 5.6, так почему же не установить их вместе?

Шаг 1. Репозитироии PHP 5.6

Если вы хотите использовать php 5.6, добавим репозиторий для старой версии:

$ sudo add-apt-repository ppa:ondrej/php

Обновим репозитории:

$ sudo apt-get update

Шаг 2. Установка PHP

Теперь давайте установим обе версии php (или  устанавливаем нужную)

$ sudo apt-get install php5.6
$ sudo apt-get install php7.0

Шаг 3. Дополнительные модули

Для нормальной работы веб-сервера, мне пришлось еще доставить недостающие модули.

$ sudo apt-get install php5.6-mbstring php5.6-mysql php5.6-gd
$ sudo apt-get install php-mbstring php7.0-mbstring php-gettext
$ sudo apt-get install php7.0-mysql

И включить Mod Rewrite

Переключение и конфигурация

Конфиг файлы (php.ini) можно найти здесь:
PHP 5.6

/etc/php/5.6/

PHP 7

/etc/php/7.0/

 

Переключать активные версии можно командами:
Отключаем PHP 5.6

$ sudo a2dismod php5.6

Включаем PHP 7

$ sudo a2enmod php7.0

Перегружаем апач

$ sudo service apache2 restart

И обратно
Проверить рабочую версию в данный момент, можно функцией phpinfo

<?php phpinfo(); ?>

Или продолжайте установку веб-сервера LAMP с Шага 3.1

PHP 7.0 и PHP 5.6 на одном сервере: 4 комментария

  1. Уведомление: Ubuntu | Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Ubuntu 14.04 +16.04 LTS | Блог. Личные записки.

  2. Не помешают ещё вот такие действия
    sudo apt install php libapache2-mod-php
    sudo apt install php7.0-mbstring
    sudo a2dismod mpm_event
    sudo a2enmod mpm_prefork
    service apache2 restart

    Иначе php7.0 может некорректно работать или вообще не работать с Apache2 и выдавать вот такие ошибки — Module php7.0 does not exist!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *