2017-01-10 3 views
1

У меня проблема, несколько месяцев назад я обновил ubuntu с 14.04 по 16.04, и у моего php5.6 от LAMP возникли проблемы, работающие рядом с php7, поэтому я удалил его. Новые проекты хороши, но если я пытаюсь обновить композитор в старых проектах, консоль возвращает ошибку ... Содержание ниже:Как установить php5.6 в ubuntu 16.04 с php7?

Problem 1 
    - Installation request for simpay/api_client dev-master -> satisfiable by simpay/api_client[dev-master]. 
    - simpay/api_client dev-master requires ext-curl ^0.0.0 -> the requested PHP extension curl has the wrong version (7.0.8-0ubuntu0.16.04.3) installed. 

    To enable extensions, verify that they are enabled in those .ini files: 
    - /etc/php/7.0/cli/php.ini 
    - /etc/php/7.0/cli/conf.d/10-mysqlnd.ini 
    - /etc/php/7.0/cli/conf.d/10-opcache.ini 
    - /etc/php/7.0/cli/conf.d/10-pdo.ini 
    - /etc/php/7.0/cli/conf.d/15-xml.ini 
    - /etc/php/7.0/cli/conf.d/20-calendar.ini 
    - /etc/php/7.0/cli/conf.d/20-ctype.ini 
    - /etc/php/7.0/cli/conf.d/20-curl.ini 
    - /etc/php/7.0/cli/conf.d/20-dom.ini 
    - /etc/php/7.0/cli/conf.d/20-exif.ini 
    - /etc/php/7.0/cli/conf.d/20-fileinfo.ini 
    - /etc/php/7.0/cli/conf.d/20-ftp.ini 
    - /etc/php/7.0/cli/conf.d/20-gd.ini 
    - /etc/php/7.0/cli/conf.d/20-gettext.ini 
    - /etc/php/7.0/cli/conf.d/20-iconv.ini 
    - /etc/php/7.0/cli/conf.d/20-json.ini 
    - /etc/php/7.0/cli/conf.d/20-mbstring.ini 
    - /etc/php/7.0/cli/conf.d/20-mysqli.ini 
    - /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini 
    - /etc/php/7.0/cli/conf.d/20-phar.ini 
    - /etc/php/7.0/cli/conf.d/20-posix.ini 
    - /etc/php/7.0/cli/conf.d/20-readline.ini 
    - /etc/php/7.0/cli/conf.d/20-shmop.ini 
    - /etc/php/7.0/cli/conf.d/20-simplexml.ini 
    - /etc/php/7.0/cli/conf.d/20-sockets.ini 
    - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini 
    - /etc/php/7.0/cli/conf.d/20-sysvsem.ini 
    - /etc/php/7.0/cli/conf.d/20-sysvshm.ini 
    - /etc/php/7.0/cli/conf.d/20-tokenizer.ini 
    - /etc/php/7.0/cli/conf.d/20-wddx.ini 
    - /etc/php/7.0/cli/conf.d/20-xmlreader.ini 
    - /etc/php/7.0/cli/conf.d/20-xmlwriter.ini 
    - /etc/php/7.0/cli/conf.d/20-xsl.ini 
    - /etc/php/7.0/cli/conf.d/20-zip.ini 
    You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. 

Это будет возможно установить php5.6 без каких-либо проблем? И сделать псевдоним, например php5? Как это сделать?

+0

Возможно, вам потребуется скомпилировать желаемую версию из источника. – hassan

ответ

3

Просто установите php5.6 с apt-get. Я получил свои инструкции от here. Обязательно используйте репозиторий ppa ondreij. Таким образом, php7.0 и php5.6 устанавливаются бок о бок как совершенно отдельные пакеты.

Я нахожусь на новой установке 16.04. Я установил php7.0 и все необходимые расширения. Сегодня я установил php5.6 и сделал псевдонимы для переключения между двумя версиями. Поместите это в ~/.bash_aliases и перезагрузите его.

alias enablephp5.6="sudo ln -s -f /usr/bin/php5.6 /etc/alternatives/php" 
alias enablephp7.0="sudo ln -s -f /usr/bin/php7.0 /etc/alternatives/php" 

Так что теперь при запуске php из консоли или при использовании composer install вы можете включить правильную версию. Он отлично работает для меня.

Если вам нужны дополнительные расширения php5.6, просто установите их с помощью sudo apt-get install php5.6-<extension>.

+0

лучшее решение! Благодаря!! – jdoe