Как переключить версию php ubuntu

apache — переключение версий php в командной строке ubuntu 16.04

Я установил php 5.6 и php7.1 на мою Ubuntu 16.04

Я знаю с Apache, как мой веб-сервер, я могу сделать

Когда я отключаю php7.1 в модулях apache и включаю php5.6, apache распознает изменение и использует интерпретатор php5.6, как и ожидалось.

Но когда я запускаю внутренний php веб-сервер из командной строки:

php обрабатывает запросы, используя php7, как мне переключиться между php6.6 и php7.1 в командной строке?

Решение

Интерактивный режим переключения

Ручное переключение

Из PHP 5.6 => PHP 7.1

В вашей системе установлен PHP 5.6 по умолчанию, и вам нужно переключиться на PHP 7.1.

Из PHP 7.1 => PHP 5.6

В вашей системе установлен PHP 7.1 по умолчанию, и вам нужно переключиться на PHP 5.6.

Другие решения

введите это в вашей оболочке

и это то, что вы получите

Выберите подходящую версию

Я думаю, вы должны попробовать это

С php5.6 до php7.1

С php7.1 до php5.6

Чтобы просмотреть все доступные версии и выбрать из них:

Или сделать вручную

Вы можете создать скрипт для переключения с версий: sudo nano switch_php
затем введите это:

выйти и сохранить
сделать его исполняемым: sudo chmod +x switch_php

Вот и все, теперь вы можете легко переключаться с PHP7 на PHP 5.6!

Введите данную команду в свой терминал.

Для отключения выбранной версии PHP …

Для включения другой версии PHP ….

Он обновит версию Php, то же самое произойдет в обратном порядке, если вы хотите понизить версию, вы можете увидеть это с помощью PHP_INFO ();

Переключитесь с PHP 5.6 на PHP 7.2, используя:

Переключитесь с PHP 7.2 на PHP 5.6, используя:

Источник

Жонглируем версиями PHP в системе

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntuПроблема “ хочу новую версию %software% на моем стареньк … стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.

Что делать, если хочется сменить системную версию PHP на одну из кастомных сборок? Давайте отталкиваться от того, что у вас на сервере уже установлено несколько версий PHP и вы хотите, чтобы в консоли команда php была конкретной версии, отличающаяся от той, что шла с системой. В этой статье я расскажу, как правильно это настроить, чтобы не было проблем с будущими пакетными обновлениями.

В качестве примера возьмём сервер на CentOS 7, где установлен родной PHP:

Также на сервере установлен наш Plesk с парой своих сборок PHP:

Допустим, мы хотим переключить систему на использование PHP 5.6 по умолчанию (переключать глобально PHP с версии 5.4 на 7 как-то сс… страшно — чему-то в системе может поплохеть от такого). Бинарь PHP 5.6 лежит у нас тут:

Как же сделать так, чтобы система использовала эту, нужную нам, версию PHP?

Сначала посмотрим на системную переменную PATH

В ней перечислен список директорий, в которых ищутся программы по имени. Главный нюанс — поиск в директориях происходит последовательно и используется первый найденный результат. Текущий путь до текущего бинарника PHP мы можем увидеть с помощью команды:

Теперь, давайте зарегистрируем все доступные версии PHP с помощью этой команды:

Цифры 10, 20 и 30 — это приоритет. Он работает для автоматического выбора, если администратор сам не выбрал конкретную версию. Самое большое число определяет выбор «по умолчанию».

Проверим, что php теперь указывает на созданную командой симлинку:

Давайте разберемся, что же update-alternatives сделала для нас:

Как видно, она создала цепочку симлинок и теперь по требованию просто меняет промежуточную симлинку на нужный нам бинарь.

Давайте переключимся на PHP версии 5.6, которая идет в поставке с Plesk’ом:

Проверяем, что переключение произошло:

Все отлично работает. Теперь в системе используется нужная нам версия PHP и я не опасаюсь, что эта настройка слетит при следующих пакетных обновлениях.

С помощью update-alternatives можно выбирать не только версию PHP, но и многие другие вещи, например разные версии phpunit или редактор по умолчанию в системе. Подход этот универсален для различных систем. Не изобретая своего велосипеда, используя существующие инструменты, вы можете быть уверенным, что не устроили для ваших коллег квеста “Ну почему оно так работает?!”. Настраивайте свою систему правильно.

Источник

PhpBrew. Менеджер версий PHP. (+ установка и использование в Ubuntu 13.10)

Лирическое №1

PHP неуклонно взрослеет и обзаводится различными полезными дополнениями и некоторые из них уже ну совсем как у старших (хотя слово «младших» во многих случаях подойдет лучше).

В этом ключе стоит, например, вспомнить такие замечательные вещи как менеджер зависимостей composer, встроенный веб-сервер, появление namespace’ов и замыканий.

Сложилось так, что в качестве рабочей OS у меня установлена последняя версия Ubuntu (13.10). Долгое время я довольствовался последней стабильной версией PHP из репозиториев (видимо везло), но тут по работе пришел проект на 5.3 (а то и 5.2, но под 5.3 завелся), который никак не хотел стартовать на последней 5.5.3, что из официальных репозиториев и я было опечалился (уже имеется опыт установки неактуального PHP на Ubuntu, хоть и успешный, но весьма грустный), но потом вспомнил ruby и rvm.io и решил провести небольшое исследование. В итоге коллега подсказал озвученную в заголовке вещь.

Конец лирического. К фактам.

Если вкратце – единственное назначение phpbrew – возможность использовать разные версии PHP на одной машине. Быстро, просто, практически без танцев с народными музыкальными инструментами. (не продакшен, не параллельная работа, но мгновенное переключение между версиями при разработке).

Чтобы не растекаться мыслью по древу приведу (плохо) переведенную выдержку из официального readme:

phpbrew способен собрать и установить несколько различных версий PHP в домашнюю директорию текущего пользователя.
Также phpbrew помогает управлять переменными окружения – при помощи команд use и switch можно легко переключаться между версиями PHP.

Cтоит добавить что не умеет он автоматически интегрироваться в nginx.

Установка

1) Установить зависимости согласно официальному документу с requirements

Скорее всего вам не понадобятся ВСЕ эти зависимости, поэтому имеет смысл установить минимальный требуемый для сборки чистого PHP набор, а дальше ориентироваться на сообщения PHP’шого configure, который все равно будет вызываться для проверке соответствия системы требованиям.

2) Устанавливаем собственно phpbrew, все по той же инструкции

3) По-прежнему по инструкции, инициализация

После этого нужно закрыть и снова открыть консоль (ну или просто сделать logout/login, это по ситуации) чтобы новые команды в bashrc проинициализировались. Или самостоятельно запустить в консоли

Готово. Можно пользоваться.

Настройка

Информация из этого пункта также доступна в официальном readme. И часть ее в официальном гайде troubleshooting.

Покажет список доступных версий (есть версии и старше – для них к команде нужно добавить ключ –old)

Покажет список доступных вариантов для установки PHP. (по факту — расширения с которыми PHP будет собираться)
phpbrew install [version] [variants] установит PHP нужной версии с указанными расширениями. Варианты перечисляются через пробел, каждый начинается с “+”. Например команда:

Загрузит и соберет PHP 5.3.28 с базовым набором компонентов (различные zip, json, mbstring и прочее повседневно-утилитарное)

* стоит отметить что (скорее всего так у вас ничего не соберется, см. раздел Troubleshooting этой статьи.

Загрузит и соберет PHP 5.3.28 с базовым набором компонентов а также с icu и intl (intl вполне логично не соберется без ICU, а без intl почему-то не собирается PHP 5.3 на Ubuntu)

Тут лирическое №2, по поводу root:

Чтобы добавить автоматически собранный модуль для apache2 нужно команде phpbrew install передать вариант +apxs2. Но.
Проблема в том, что Apache и его модули находятся не в пользовательских директориях, а посему phpbrew просто не сможет свой модуль никуда положить и упадет при попытках сделать это.

Workaround’а два – оба вполне официально предложены автором в разделе coockbook и оба мне не нравятся:
1) Устанавливать phpbrew и все сопутствующие штуки не в домашнюю директорию, а system-wide (все почти так же, только под root) – получается что как-то противоречит изначальной идеологии проекта. Подробно расписан в coockbook.
2) Временно разрешить себе запись в нужные директории.Потом не забыть запретить обратно. Ну это просто как-то неправильно.

Для Ubuntu 13.10 и apache 2.4.6 нужными будут /usr/lib/apache2/modules/ и /etc/apache2/mods-available/

После этих подготовительных процедур таки ставим PHP 5.3.28 с базовым набором компонентов, с модулем apache, а также с icu и intl:

Теперь проверим, что получилось:

Перезагрузим apache2 и проверим его:

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

Добавим еще одну версию точно таким же способом:

Еще раз перезагрузим apache2 и проверим:

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

Все готово, осталось прибрать хвосты. Возвращаем доступы к системным директориям apache в нормальное состояние и передаем владение собранными модулями root’у (ну чтобы не выбивались из общего потока):

Установка расширений

Еще один момент — установка расширений. Все проще простого — phpbrew интегрирован с PEAR.
Просто используйте команду:

$ phpbrew ext install [extension_name]
И дальше phpbrew сделает все сам. Скачает расширение, соберет его и активирует для активной версии php. Например:

Переключение версий

Собственно далее, если нужно переключить версию CLI – используем phpbrew use [version] (или phpbrew switch [version]), если же нужно переключить версию для apache2 – ищем где у apache происходит загрузка нашего модуля (в случае Apache 2.4.6 и Ubuntu 13.10 это будет /etc/apache2/mods-available/php5.load (или симлинк в mods-enabled), открываем его любым текстовым редактором и в строчке (например):

меняем версию на нужную нам (и, конечно, установленную в системе, например)

Перезагружаем apache и:

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu
(да, вы правы, на самом деле этот тот же самый скриншот, что и в первом случае, тем не менее он отражает объективную действительность.)

Альтернативы:

Помимо этого решения существуют еще (как минимум) phpenv и php-version. С ними предлагаю ознакомиться самостоятельно (буде возникнет такая необходимость)

Troubleshooting

В общем-то все есть в официальном гайде. Два момента, с которыми столкнулся лично:

1) Проверка config жалуется на отсутствующий libpcre.(a|so) и ничего не собирает под таким неблаговидным предлогом.

Это не проблема phpbrew, эта проблема лежит на стыке ubuntu и php — php и не пытается искать библиотеки по нестандартным путям, Ubuntu, зачем-то держит их в не совсем стандартном расположении.

К счастью phpbrew позволяет при помощи ключа — передавать в make дополнительные параметры. Вам остается только найти эти библиотеки и скормить их команде phpbrew install.

Для Ubuntu 13.10 (скорее всего для всех основанных на Debian дистрибутивов) реальная команда для установки php в варианте из статьи будет выглядеть так:

2) При сборке php 5.3 появляется ошибка вида:

Баг специфичный именно для 5.3. Просто добавьте к phpbrew install варианты «+icu +intl» (как и делается везде в рамках этой статьи).

Источник

Смена версии php в Ubuntu

Привет
Нужно поменять версию php с 7 на 5.6 на Ubuntu.
В Ubuntu только 2 день, поэтому сильно не разбираюсь

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

5 ответов 5

Сначала удалим все PHP библиотеки

Затем добавляем PPA с которого будем качать PHP т.к. в стандартном apt-get есть только последняя седьмая версия по умолчанию В Ubuntu 16.04. apt это пакетный менеджер в Ubuntu, из него мы устанавливаем программы, пакеты, библиотеки и т.д. Следующей командой мы добавляем в него адрес PPA откуда он выкачает нам нужный PHP-5.6.

Если выдаст ошибку add-apt-repository: command not found

То нужно выполнить следующую команду

Далее выполняем две команды последовательно

Установка PHP 5.6

На этом этапе PHP уже установлен, но чтобы установить дополнительные библиотеки можно ввести:

Дополнительно

Чтобы найти точные названия библиотек в apt-get для фреймворка или при необходимости, пример:

Проверка версии PHP

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

Рекомендую использовать для таких целей специальные PPA, например эту:

И после добавления поставить php 5.6 таким образом:

И нужно будет не забывать, что все пакеты для php, например php-mysql, php-xml нужно будет ставить таким образом:

P.S. все предыдущие версии php надо удалить

Источник

Как понизить версию php 7.4 до 5.6 в Vesta на Ubuntu

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

Понижение и повышение версии PHP в Ubuntu вариант 1

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

В этом руководстве мы покажем вам, как обновить PHP 7.0, который по умолчанию установлен Vesta CP во время установки, до последней версии PHP 7.1.xx, 7.2.xx, 7.3.xx или 7.4.xx на сервере Ubuntu.

Зачем переходить на php 7.1, 7.2, 7.3 или 7.4?

Это даст вам повышение безопасности и производительности + KICK, поскольку WordPress или поддерживаемые скрипты будут загружаться намного быстрее и потреблять меньше ресурсов.

Пакеты, которые понадобится установить:

Вам нужно установить software-properties-common:

Для Apache mod_php:

Для обновления PHP 7.1:

Сначала вам нужно добавить Ondrejs PPA:

Если вы получите: “‘ascii’ codec can’t decode byte”, выполните следующую команду:

затем запустите эти команды:

Теперь установим PHP 7.1:

После установки, отключите модуль php 7.0, чтобы активировать модуль php7.1:

После включения модуля новой версии php, перезапустите службу apach2 командой:

Для обновления до PHP 7.2, 7.3, 7.4, достаточно изменит цифры версии в командах.
Пример для PHP 7.4:

Теперь, если вы установили все нужные Вам версии PHP, вы сможете переключать их, как в сторону повышения, так и понижать версию PHP.

Чтобы повысить php7.1 до php 7.4, просто выполните следующие команды:

Чтобы понизить версию с php7.4 до php 7.0, просто выполните следующие команды:

Если данный способ, не подходит Вам по каким либо причинам, вы может воспользоваться вариантом переключения PHP который описан ниже.

ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2

Как переключить версию php ubuntu. Смотреть фото Как переключить версию php ubuntu. Смотреть картинку Как переключить версию php ubuntu. Картинка про Как переключить версию php ubuntu. Фото Как переключить версию php ubuntu

Пример: Ubuntu 18.04 как переключить PHP7.4 на php5.6

Этот метод заключается не в удалении каких-либо из версий php и установке другой версии, а в установке PHP как надстройки и в использовании одной из версий PHP по необходимости.

Данный метод не позволяет выбирать нужную версию PHP в панели управления VestaCP.

Ели Вам нужен способ позволяющий выбирать версию PHP для каждого домена, вам подойдет предыдущая инструкция.

Приступим к установке и настройке:

Вы установили версию PHP 5.6.

Проверим версию PHP командой:

Вывод может отображать вашу старую версия PHP.

Для применения изменений, рестарт веб сервер Apache:

Обычно, сначала необходимо установить еще несколько модулей необходимых для правильной работы веб сервера:

Включение необходимых расширений >>> sudo phpenmod mbstring

Источник

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

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