Пакет php5 не имеет кандидата для установки (Ubuntu 16.04)

67

Когда я пытаюсь установить php5 в Ubuntu 16.04, используя следующий код:

sudo apt-get install php5 php5-mcrypt

Я получаю следующую ошибку:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php5' has no installation candidate

Я попытался переустановить, но это не помогает.

Вся эта ошибка возникла после обновления моего 15.10 Ubuntu до 16.04

  • 1
    Вы можете получить ответ на этот вопрос по ссылке ниже askubuntu.com/questions/756181/…
Теги:
ubuntu-16.04
apt
dpkg

5 ответов

107
Лучший ответ

Ubuntu 16.04 поставляется с PHP7 в качестве стандарта, поэтому нет пакетов PHP5

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

Удалить все пакеты php пакета

Список установленных пакетов php с dpkg -l | grep php| awk '{print $2}' |tr "\n" " ", затем удалите ненужные пакеты с помощью sudo aptitude purge your_packages_here или если вы хотите удалить их все, используйте:

sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

Добавить PPA

sudo add-apt-repository ppa:ondrej/php

Установите версию PHP

sudo apt-get update
sudo apt-get install php5.6

Вы также можете установить модули php5.6.

Проверьте свою версию

sudo php -v

На основе https://askubuntu.com/a/756186/532957 (спасибо @AhmedJerbi)

  • 1
    я понимаю, но есть ли способ заставить это работать в самом php7?
  • 1
    @SrijanKarki вы можете просто использовать sudo apt-get install php7 для установки php7, однако я не понимаю, что вы имеете в виду под «способом заставить эту работу работать в php7». Ваш вопрос был об установке php5, нет? в противном случае уточнить, и я отредактирую свой ответ соответственно
Показать ещё 4 комментария
43

Вы должны использовать префикс "php5.6-" вместо "php5-", как в ubuntu 14.04, и olders:

sudo apt-get install php5.6 php5.6-mcrypt
  • 0
    Это только что спасло меня от такой боли и разочарования!
  • 4
    Не работает для меня 0 upgraded, 0 newly installed
29

Если вы просто хотите установить PHP независимо от его версии, попробуйте PHP7

sudo apt-get install php7.0 php7.0-mcrypt
2
sudo apt-get install php7.0-mysql

для php7.0 хорошо работает для меня

  • 0
    E: Package 'php7.0-mysql' has no installation candidate
0

В настоящее время я использую Ubuntu 16.04 LTS. Мне тоже приходилось сталкиваться с такой же проблемой, в то время как выборка значений Postgress Database с использованием Php, поэтому я разрешил ее с помощью приведенных ниже команд.

Моя версия PHP - 7.0, поэтому я попробовал команду ниже.

apt-get install php-pgsql

Не забудьте перезапустить Apache.

/etc/init.d/apache2 restart

Ещё вопросы

Сообщество Overcoder
Наверх
Меню