Lisää
Miten voin päivittää PHP 7:stä PHP 5.6:een Ubuntu 16.04:ssä?
Yritän palauttaa PHP-versioni 5.6:een 7:stä, ja vaikka poistin PHP 7:n ja asensin PHP 5.6:n, näyttäisi siltä, että versio 7 on edelleen käytössä.
Onko olemassa yksinkertaista menetelmää PHP-versioiden siirtämiseen, jossa apache, phpMyAdmin ja muut on konfiguroitu asianmukaisesti?
Yksinkertainen tapa vaihtaa PHP:n nykyistä versiota lennossa ja jopa sivustokohtaisesti olisi hienoa.
168
3
Päivitys Tänään sain taas ongelman PHP 7:n kanssa, vaikka olen poistanut
php7.0
apache-moduulin käytöstä:phpinfo
näytti php 7:n käyttävän fastCGI:tä ...... Joten jos alla olevien ohjeiden noudattamisen jälkeen kohtaat tämän tilanteen, sinun on ehkä poistettava
proxy_fcgi
apache-moduuli käytöstä:1. Asenna PHP 5.6 uudelleen
Minulle toimi tämä opas: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu.
Itse asiassa ei tarvitse poistaa
php7.0
, voit asentaa php5.6:n yhdessä ( myös siksi, että sinulla on riippuvuusongelmaphpmyadmin
-paketin kanssa, joka vaatii php7.0:n).Olettaen, että
libapache2-mod-php
on sinulle sopiva tapa ottaa PHP käyttöön Apachessa, voit jatkaa näin:2. Vaihda PHP-versio:
5.6:sta php7.0:aan:
Apache:
CLI:
php7.0:sta php5.6:een:
Apache:
CLI:
Kysymyksestäsi puuttuu tärkeitä yksityiskohtia, joten vastaan laajemmin.
Olettaen, että käytät paketteja, on joitakin tärkeitä yksityiskohtia:
Apache2 voidaan konfiguroida käyttämään joko
apache2
SAPI:tä käyttäenlibapache2-mod-php7.0
-pakettia tai FPM SAPI:tä käyttäenphp7.0-fpm
-pakettia jamod_proxy_fcgi
-pakettia.Ubuntu 16.04:n arkistoissa on vain PHP 7.0, voit käyttää
ppa:ondrej/php
lisätäksesi tuen PHP 5.6:lle käyttämällä samanlaista nimeämismallia (esim.libapache2-mod-php5.6
taiphp5.6-fpm
).Jos käytät Apache2 SAPI:tä (
libapache2-mod-php*
), sinun on poistettava PHP 7.0 käytöstä asennuksenlibapache2-mod-php5.6
jälkeen ajamallaa2dismod php7.0
ja otettava PHP 5.6 käyttöön ajamallaa2enmod php5.6
.Jos käytät FPM SAPI:tä (
php*-fpm
), sinun on vaihdettava FPM:n unix-soketti sijasta/run/php/php7.0-fpm.sock
muotoon/run/php/php5.6-fpm.sock
.Muistathan, että PHP:n kanssa niputettujen moduulien (kuten MySQL:n) nimeämiskäytäntö on
phpX.Y-
(esim.php7.0-mysql
japhp5.6-mysql
), mutta ulkoisille PECL-moduuleille (esim. APCu, mongodb, ...) se on vainphp-
(esim.php-apcu
,php-mongodb
). Suosittelen ajamaanapt-cache search php
järjestelmässäsi etsiessäsi oikeaa paketin nimeä ennen kuin kysyt kysymyksiä Internetissä.Mielestäni sinun pitäisi poistaa php-paketit ja asentaa php5.6. Voit toimia seuraavasti:
Sen jälkeen voit tarkistaa php:n version varmuuden vuoksi. Se tehdään kuten alla näkyy: