Pakiet php5 nie ma kandydata do instalacji (Ubuntu 16.04)

88

Kiedy próbuję zainstalować php5 w Ubuntu 16.04 przy użyciu następującego kodu:

sudo apt-get install php5 php5-mcrypt

Otrzymuję następujący błąd:

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

Próbowałem przeinstalować, ale to nie pomaga.

Cały ten błąd został napotkany po zaktualizowaniu mojego Ubuntu 15.10 do wersji 16.04

Srijan Karki
źródło
1
Możesz uzyskać odpowiedź na to pytanie pod poniższym linkiem askubuntu.com/questions/756181/…
Prakash Bhandari

Odpowiedzi:

132

Ubuntu 16.04 jest standardowo wyposażony w PHP7, więc nie ma pakietów PHP5

Jeśli jednak chcesz, możesz dodać PPA, aby mimo wszystko uzyskać te pakiety:

Usuń wszystkie standardowe pakiety php

Wyświetl listę zainstalowanych pakietów php, a dpkg -l | grep php| awk '{print $2}' |tr "\n" " "następnie usuń niepotrzebne pakiety za pomocą sudo aptitude purge your_packages_here lub jeśli chcesz bezpośrednio usunąć je wszystkie użyj:

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

Dodaj PPA

sudo add-apt-repository ppa:ondrej/php

Zainstaluj swoją wersję PHP

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

Możesz także zainstalować moduły php5.6.

Sprawdź swoją wersję

sudo php -v

Na podstawie https://askubuntu.com/a/756186/532957 (dzięki @AhmedJerbi)

Rodrigo Stadler
źródło
1
Rozumiem to, ale czy jest jakiś sposób, aby to działało w samym php7?
Srijan Karki
1
@SrijanKarki możesz po prostu użyć sudo apt-get install php7do zainstalowania php7, jednak nie rozumiem tego, co masz na myśli, mówiąc o "sposobie, aby to zadziałało w php7". Twoje pytanie dotyczyło instalacji php5, nie? w przeciwnym razie wyjaśnię i odpowiednio zmodyfikuję moją odpowiedź
Rodrigo Stadler
2
tak już zainstalowałem php7. Próbowałem też zrobić to, co zostało powiedziane w tym linku. Tutaj . Nie localhost/phpadminmożna jednak znaleźć strony. Czy jest coś, co może powodować ten błąd?
Srijan Karki
@SrijanKarki - Więc zainstaluj administratora PHP. Nie ma to nic wspólnego z PHP poza pisaniem w tym języku.
Quentin
użyj przedrostka „php5.6-” zamiast „php5-”, jak również na ubuntu 16.04
Kamaldeep Singh
54

Musisz użyć przedrostka „php5.6-” zamiast „php5-”, jak w systemie ubuntu 14.04 i starszych:

sudo apt-get install php5.6 php5.6-mcrypt
Dong Nguyen
źródło
To właśnie uratowało mnie od tylu bólu i frustracji!
Savara
4
Nie działa na mnie. 0 upgraded, 0 newly installed
Jekis,
34

Jeśli chcesz tylko zainstalować PHP bez względu na to, jaka jest wersja, wypróbuj PHP7

sudo apt-get install php7.0 php7.0-mcrypt
Joe zhou
źródło
4
sudo apt-get install php7.0-mysql

dla php7.0 działa dobrze dla mnie

Ericky
źródło
1
E: Package 'php7.0-mysql' has no installation candidate
WebBrother,
1

To zadziałało dla mnie.

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

;)

xereon
źródło
0

Obecnie używam Ubuntu 16.04 LTS. Ja też napotkałem ten sam problem podczas pobierania wartości bazy danych Postgress za pomocą PHP, więc rozwiązałem go za pomocą poniższych poleceń.

Moja wersja PHP to 7.0, więc wypróbowałem poniższe polecenie.

apt-get install php-pgsql

Pamiętaj, aby ponownie uruchomić Apache .

/etc/init.d/apache2 restart
MD Shahrouq
źródło
0

Niedawno miałem również ten problem i rozwiązałem go za pomocą następującego polecenia:

sudo apt install php7.2-cli

php jest teraz zainstalowany. Używam Ubuntu 18.04.

Leanne
źródło