Hvordan kan jeg nedgradere fra PHP 7 til PHP 5.6 på Ubuntu 16.04?
Jeg prøver å tilbakestille PHP-versjonen min til 5.6 fra 7, og selv om jeg fjernet PHP 7 og deretter installerte PHP 5.6, ser det ut til at jeg fortsatt kjører versjon 7.
Er det en enkel metode for å flytte gjennom PHP-versjoner der apache, phpMyAdmin og co er konfigurert riktig?
En enkel måte å endre gjeldende versjon av PHP på farten og til og med nettsted for nettsted ville være flott.
168
3
Oppdatering I dag fikk jeg igjen problemer med PHP 7 som kjører til tross for at jeg har deaktivert
php7.0
apache-modulen:phpinfo
viste php 7 ved hjelp av fastCGI ...... Så hvis du etter å ha fulgt instruksjonene nedenfor står overfor denne situasjonen, må du kanskje deaktivere
proxy_fcgi
apache-modulen:1. Installer PHP 5.6 på nytt
Det som fungerte for meg var denne guiden: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
Egentlig er det ikke nødvendig å fjerne
php7.0
, du kan installere php5.6 sammen (også fordi du vil ha avhengighetsproblem medphpmyadmin
-pakken som krevde php7.0)Forutsatt at
libapache2-mod-php
er en passende måte å aktivere PHP i Apache for deg, kan du fortsette på denne måten:2. Bytt PHP-versjon:
Fra php5.6 til php7.0:
Apache:
CLI:
Fra php7.0 til php5.6:
Apache:
CLI:
Spørsmålet ditt mangler viktige detaljer, så jeg vil svare mer generelt.
Forutsatt at du bruker pakker, er det noen viktige detaljer:
Apache2 kan konfigureres til å bruke enten
apache2
SAPI ved hjelp avlibapache2-mod-php7.0
pakke eller FPM SAPI ved hjelp avphp7.0-fpm
medmod_proxy_fcgi
.Ubuntu 16.04 har bare PHP 7.0 i depotene, du kan bruke
ppa:ondrej/php
for å legge til støtte for PHP 5.6 ved hjelp av lignende navneskjema (f.eks.libapache2-mod-php5.6
ellerphp5.6-fpm
).Hvis du bruker Apache2 SAPI (
libapache2-mod-php*
), må du deaktivere PHP 7.0 etter at du har installertlibapache2-mod-php5.6
ved å kjørea2dismod php7.0
og aktivere PHP 5.6 ved å kjørea2enmod php5.6
.Hvis du bruker FPM SAPI (
php*-fpm
), må du endre FPM unix socket fra/run/php/php7.0-fpm.sock
til/run/php/php5.6-fpm.sock
.Husk at for moduler som følger med PHP (som MySQL) er navnekonvensjonen
phpX.Y-
(f.eks.php7.0-mysql
ogphp5.6-mysql
), men for eksterne PECL-moduler (f.eks. APCu, mongodb, ...) er det barephp-
(f.eks.php-apcu
,php-mongodb
). Jeg anbefaler å kjøreapt-cache search php
på systemet ditt for å søke etter riktig pakkenavn før du stiller spørsmål på Internett.Jeg tror du bør fjerne php-pakkene dine og installere php5.6. Du kan fortsette som følger:
Du kan deretter sjekke versjonen av php for å være sikker. Det gjøres som vist nedenfor: