Aš bandau sugrąžinti savo PHP versiją 5.6 iš 7 ir nors aš pašalinau PHP 7 ir tada įdiegta PHP 5.6 Aš vis dar atrodo, kad veikia versija 7.
Ar yra paprastas metodas, kaip pereiti prie PHP versijų, kai apache, phpMyAdmin ir kt. yra tinkamai sukonfigūruoti?
Būtų puiku, jei būtų paprastas būdas pakeisti esamą PHP versiją "skraidant" ir net kiekvienoje svetainėje atskirai.
Atnaujinta
Šiandien vėl susidūriau su PHP 7 problema, nepaisant to, kad išjungiau php7.0
apache modulį: phpinfo
rodė php 7 naudojant fastCGI ...
... Taigi, jei atlikę toliau pateiktus nurodymus susidursite su tokia situacija, gali tekti išjungti proxy_fcgi
apache modulį:
sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart
1. Iš naujo įdiekite PHP 5.6
Man padėjo šis vadovas: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
Iš tikrųjų nebūtina pašalinti php7.0
, galite įdiegti php5.6 kartu ( taip pat dėl to, kad turėsite priklausomybės problemų su phpmyadmin
paketu, kuris reikalauja php7.0)
Darant prielaidą, kad libapache2-mod-php
yra jums tinkamas būdas įjungti PHP Apache, galite tęsti toliau:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0
2. Perjunkite PHP versiją:
Iš php5.6 į php7.0:
Apache:
Sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
CLI:
sudo update-alternatives --set php /usr/bin/php7.0
Iš php7.0 į php5.6:
Apache:
Sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
CLI:
php /usr/bin/php5.6
Jūsų klausime trūksta svarbių detalių, todėl atsakysiu plačiau.
Darant prielaidą, kad naudojate paketus, yra keletas svarbių detalių:
Apache2 gali būti sukonfigūruotas naudoti apache2
SAPI naudojant libapache2-mod-php7.0
paketą arba FPM SAPI naudojant php7.0-fpm
su mod_proxy_fcgi
.
Ubuntu 16.04 saugyklose yra tik PHP 7.0, galite naudoti ppa:ondrej/php
, kad pridėtumėte PHP 5.6 palaikymą, naudodami panašią pavadinimų schemą (pvz., libapache2-mod-php5.6
arba php5.6-fpm
).
Jei naudojate "Apache2 SAPI" (libapache2-mod-php*
), įdiegę libapache2-mod-php5.6
turite išjungti PHP 7.0, paleisdami a2dismod php7.0
, ir įjungti PHP 5.6, paleisdami a2enmod php5.6
.
Jei naudojate FPM SAPI (php*-fpm
), turite pakeisti FPM unix lizdą iš /run/php/php7.0-fpm.sock
į /run/php/php5.6-fpm.sock
.
Nepamirškite, kad su PHP komplektuojamų modulių (pvz., "MySQL") pavadinimai yra phpX.Y-<ext>
(pvz., php7.0-mysql
ir php5.6-mysql
), bet išoriniams PECL moduliams (pvz., APCu, mongodb, ...) tiesiog php-<ext>
(pvz., php-apcu
, php-mongodb
). Rekomenduoju prieš užduodant klausimus internete sistemoje paleisti apt-cache search php <ext>
ir surasti teisingą paketo pavadinimą.
Manau, kad turėtumėte pašalinti savo php paketus ir įdiegti php5.6. Galite tęsti taip:
sudo apt-get purge php7.*
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
Tada galite patikrinti savo php versiją, kad įsitikintumėte. Tai atliekama taip, kaip parodyta toliau:
php -v