Неможливо встановити php5 на Ubuntu 16.04


53

тому я нещодавно встановив свій перший Ubuntu, якщо бути точним, щоденний збір 16.04 на своєму новому ноутбуці, оскільки апаратне забезпечення було новим на 15.10. Зараз я перебуваю в налаштуванні, і я хочу встановити php5 та деякі розширення.

Коли я виконую, sudo apt-get install libapache2-mod-php5я отримую повідомлення про помилку про те, що для php5 та libapache2 не існує інсталяційного пакету.

Повідомлення про помилку написано німецькою мовою, тому я сумніваюся, що це допомогло б, але все одно тут воно є. :-) E: For package »libapache2-mod-php5« existiert kein Installationskandidat.

Чи потрібно додати сховище apt-get? Або що я роблю неправильно?


Подивіться тут askubuntu.com/questions/756181/…
шторм

Відповіді:


76

TL; DR: Якщо ви хочете залишитися з php5, вам потрібно буде зупинитися на Ubuntu 14.04 LTS

Використання PHP 7.0 на Ubuntu 16.04 LTS

Ubuntu 16.04 перейшов на PHP 7.0 з новою інфраструктурою для пакету PHP. Отже, ні, ви не можете встановити php5 на Ubuntu 16.04, але ви можете встановити пакети PHP 7.0 з:

apt-get install libapache2-mod-php

Це встановить віртуальний пакет, який залежить від останньої версії PHP, і витягнути libapache2-mod-php7.0як залежність.

Якщо ви шукаєте розширення, завжди використовуйте варіант без версії (наприклад, php-apcuзамість нього php7.0-apcu), оскільки розширення PECL пакуються без версії, щоб забезпечити плавне оновлення.

Використання PHP PPA для співвстановлення PHP 5.6 з PHP 7.0

Існує можливість спільної установки пакетів PHP 5.6 за допомогою ppa:ondrej/php.

Для отримання додаткової інформації дивіться цю відповідь: https://askubuntu.com/a/762161/309221

Витяг із посилання вище:

Якщо припустити libapache2-mod-php, що це підходящий спосіб увімкнути PHP в Apache, ви можете продовжити таким чином:

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-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Переключити версію PHP (Apache):

  • від php5.6 до php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • від php7.0 до php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


2
Ні, у сховищах Xenial немає пакетів PHP 5.x. Тільки в ППА.
oerdnj


Коли я перейшов на php5.6, у мене з’явилася помилка "Робота для apache2.service не вдалася, оскільки процес управління завершився кодом помилки. Деталі див. У" systemctl status apache2.service "та" journalctl -xe ".
Ліхонг

А що пише журнал?
oerdnj

знайшов щось на зразок цього apache2: Помилка синтаксису в рядку 140 /etc/apache2/apache2.conf: Помилка синтаксису в рядку 3 / e
lyhong

25

EDIT: прийнята відповідь прямо не говорить про те, як спільно встановити PHP 5.6 та 7.0, тому я хотів її продовжити.

Для отримання додаткової інформації дивіться цю відповідь: https://askubuntu.com/a/762161/309221

Витяг із посилання вище:

Якщо припустити libapache2-mod-php, що це підходящий спосіб увімкнути PHP в Apache, ви можете продовжити таким чином:

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-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Переключити версію PHP (Apache):

  • від php5.6 до php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • від php7.0 до php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


1
FYI: PPA, який ви використовуєте, підтримується особою, яка написала прийняту відповідь. І останній рядок у цій відповіді: "Є можливість спільно встановити пакети PHP 5.6 за допомогою ppa: ondrej / php". Зауважте, що ви також не встановлюєте пакети php5, але php5.6
muru

1
Існує ряд відмінностей в упаковці та розташуванні файлів конфігурації, що кожен, хто шукає старі пакети php5, здивувався б у нових.
муру

Я відредагував свою відповідь, щоб вона не говорила про те, що прийнята відповідь була неправильною, а лише поширює її.
FlavioEscobar

@NoBugs У нього упаковано розширення imagick. Будь ласка, перестаньте виписувати речі, хоча б не перевіряючи, чи справді вони чи ні.
oerdnj

@FlavioEscobar Я об'єднав ваші зміни у свою відповідь. Дякуємо, що продовжили відповідь.
oerdnj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.