Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

php переключение версий

#php #ubuntu


После обновления до Ubuntu 16.04 из коробки установлен php7. Для моих проектов использую
php5.6. Подскажите, как управлять версиями, и использовать php5.6 по умолчанию?

$ php -v
PHP 7.0.6-1+donate.sury.org~xenial+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

$ whereis php
php: /usr/bin/php /usr/bin/php7.0 /usr/bin/php5.6 /usr/lib/php /etc/php /usr/share/php7.0-opcache
/usr/share/php7.0-gd /usr/share/php /usr/share/php5.6-opcache /usr/share/php7.0-mcrypt
/usr/share/php7.0-json /usr/share/php7.0-common /usr/share/php7.0-readline /usr/share/php5.6-json
/usr/share/php7.0-xml /usr/share/php7.0-mysql /usr/share/php5.6-common /usr/share/php5.6-readline
/usr/share/man/man1/php.1.gz

    


Ответы

Ответ 1



если эти пакеты установлены из официального репозитория, то используется механизм альтернатив (alternatives) и /usr/bin/php является символической ссылкой (symlink) на /etc/alternatives/php, которая, в свою очередь, тоже является символической ссылкой на реальный исполняемый файл. в вашем случае — /usr/bin/php7.0. «перенаправить» на другую альтернативу можно, например, так: $ sudo update-alternatives --config php если есть альтернативы, то будет предложен пронумерованный список альтернатив (в частности, с указанием пути к реальным файлам) с предложением ввести номер (из списка) для изменения текущего выбора альтернативы.

Ответ 2



уже было. странно что не нашли. сам пользуюсь: устанавливаем с репозитория не официального(7.0 и 5.6): sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 и переключаемся с помощью следующих команд для Апача и для командной строки разные !!! php5.6 -> php7.0 : Apache: sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart CLI: update-alternatives --set php /usr/bin/php7.0 php7.0 -> php5.6 : Apache: sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart CLI: sudo update-alternatives --set php /usr/bin/php5.6

Ответ 3



Еще вариант, phpenv как менеджер версий: https://github.com/phpenv/phpenv $(phpenv version-name) - текущая версия php; ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - php.ini текущей версии php; phpenv global 5.6.0 - использовать версию php 5.6.0.

Комментариев нет:

Отправить комментарий