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

88

Когда я пытаюсь установить 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

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

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

Шриджан Карки
источник
1
Вы можете получить ответ на этот вопрос по ссылке ниже askubuntu.com/questions/756181/…
Prakash

Ответы:

132

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?
Srijan Karki
1
@SrijanKarki вы можете просто использовать sudo apt-get install php7для установки php7, однако я не понимаю, что вы имеете в виду под «способом сделать эту работу на php7». ваш вопрос касался установки php5, нет? в противном случае уточните, и я соответствующим образом отредактирую свой ответ
Родриго Стадлер
2
Я уже установил php7. И я также пробовал делать, как сказано в этой ссылке. Вот . Однако localhost/phpadminстраница не может быть найдена. Есть ли какие-то причины, которые могут вызывать эту ошибку?
Srijan Karki
@SrijanKarki - Итак, установите PHP Admin. Это не имеет ничего общего с PHP, кроме написания на этом языке.
Квентин
используйте префикс «php5.6-» вместо «php5-», как и в ubuntu 16.04
Камалдип Сингх
54

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

sudo apt-get install php5.6 php5.6-mcrypt
Донг Нгуен
источник
Это только что спасло меня от такой боли и разочарования!
Савара
4
У меня не работает. 0 upgraded, 0 newly installed
Jekis
34

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

sudo apt-get install php7.0 php7.0-mcrypt
Джо Чжоу
источник
4
sudo apt-get install php7.0-mysql

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

Эрики
источник
1
E: Package 'php7.0-mysql' has no installation candidate
WebBrother
1

Это сработало для меня.

sudo apt-get update
sudo apt-get install lamp-server^ -y

;)

xereon
источник
0

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

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

apt-get install php-pgsql

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

/etc/init.d/apache2 restart
MD Shahrouq
источник
0

Недавно у меня тоже была эта проблема, и я решил ее с помощью следующей команды:

sudo apt install php7.2-cli

php теперь установлен. Я использую Ubuntu 18.04.

Линн
источник