Пакет 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/…
Пракаш Бхандарі

Відповіді:


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. Це не має нічого спільного з PHP, крім написання мовою.
Квентін

використовувати префікс "php5.6-" замість "php5-", як і в ubuntu 16.04
Kamaldeep Singh

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



0

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

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

apt-get install php-pgsql

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

/etc/init.d/apache2 restart

0

Нещодавно у мене була ця проблема, і я вирішив її за допомогою такої команди:

sudo apt install php7.2-cli

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

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