Ich habe PHP 5.6 und PHP 7.1 auf meinem Ubuntu 16.04 installiert
Ich weiß, dass ich mit Apache als meinem Webserver etwas tun kann
a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7
Wenn ich php7.1 in Apache-Modulen deaktiviere und php 5.6 aktiviere, erkennt Apache die Änderung und verwendet erwartungsgemäß den PHP 5.6-Interpreter.
Aber wenn ich einen internen PHP-Webserver über die Kommandozeile starte:
php -S localhost:8888
PHP verarbeitet Anfragen mit PHP 7. Wie wechsle ich in der Befehlszeile zwischen PHP 5.6 und PHP 7.1?
Antworten:
Interaktiver Schaltmodus
sudo update-alternatives --config php
Manuelles Schalten
Ab PHP 5.6 => PHP 7.1
Standardmäßig ist PHP 5.6 auf Ihrem System eingestellt und Sie müssen zu PHP 7.1 wechseln.
Apache:
$ sudo a2dismod php5.6 $ sudo a2enmod php7.1 $ sudo service apache2 restart
Befehlszeile:
$ sudo update-alternatives --set php /usr/bin/php7.1
Ab PHP 7.1 => PHP 5.6
Standardmäßig ist PHP 7.1 auf Ihrem System eingestellt und Sie müssen zu PHP 5.6 wechseln.
Apache:
$ sudo a2dismod php7.1 $ sudo a2enmod php5.6 $ sudo service apache2 restart
Befehlszeile:
$ sudo update-alternatives --set php /usr/bin/php5.6
Quelle
quelle
php -v
von 7.2 auf 7.1 zu wechseln ! Es ist großartig und einfach.create_function
ab PHP 7.2 nicht mehr unterstützt .)Geben Sie dies in Ihre Befehlszeile ein, sollte für alle Ubuntu zwischen 16.04, 18.04 und 20.04 funktionieren.
und das werden Sie bekommen
There are 4 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php7.2 72 auto mode 1 /usr/bin/php5.6 56 manual mode 2 /usr/bin/php7.0 70 manual mode 3 /usr/bin/php7.1 71 manual mode 4 /usr/bin/php7.2 72 manual mode Press <enter> to keep the current choice[*], or type selection number:
Wählen Sie die entsprechende Version
quelle
Ich würde eigentlich nicht empfehlen,
a2enmod
für PHP 5 oder 7 zu verwendenupdate-alternatives
. Ich würde verwenden . Sie könnensudo update-alternatives --config php
festlegen, welche systemweite Version von PHP Sie verwenden möchten. Dadurch funktionieren Ihre Befehlszeilen- und Apache-Versionen gleich. Weitere Informationen finden Sieupdate-alternatives
auf der Manpage .quelle
Ich denke, du solltest es versuchen
Von php5.6 bis php7.1
sudo a2dismod php5.6 sudo a2enmod php7.1 sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php7.1 sudo update-alternatives --set phar /usr/bin/phar7.1 sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.1
Von php7.1 bis php5.6
sudo a2dismod php7.1 sudo a2enmod php5.6 sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php5.6 sudo update-alternatives --set phar /usr/bin/phar5.6 sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6
quelle
So listen Sie alle verfügbaren Versionen auf und wählen Sie aus ihnen:
Oder manuell
sudo a2dismod php7.1 // disable sudo a2enmod php5.6 // enable
quelle
Sie können ein Skript zum Wechseln von Versionen erstellen. Geben Sie dann Folgendes ein
sudo nano switch_php
:#!/bin/sh #!/bin/bash echo "Switching to PHP$1..." case $1 in "7") sudo a2dismod php5.6 sudo a2enmod php7.0 sudo service apache2 restart sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php;; "5.6") sudo a2dismod php7.0 sudo a2enmod php5.6 sudo service apache2 restart sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php;; esac echo "Current version: $( php -v | head -n 1 | cut -c-7 )"
Beenden und Speichern machen es ausführbar:
sudo chmod +x switch_php
Um das Skript auszuführen, geben Sie einfach
./switch_php [VERSION_NUMBER]
den Parameter 7 oder 5.6 einJetzt können Sie ganz einfach von PHP7 auf PHP 5.6 umsteigen!
quelle
Z.B
Ich möchte wechseln
PHP Version
von7.1
bis7.2
wir unten Befehl verwenden könnensudo a2dismod php7.1 && sudo update-alternatives --set php /usr/bin/php7.2 && sudo a2enmod php7.2 && sudo service apache2 restart
a2dismod
wird verwendet, um die aktuelle PHP-Version zu deaktivieren unda2enmod
wird verwendet, um die Version zu aktivierenquelle
Möglicherweise haben Sie eine alte PHP-Version wie PHP 5.6 in Ihrem System und Sie haben auch PHP 7.2 installiert, sodass mehrere PHP auf Ihrem Computer vorhanden sind. Es gibt einige Anwendungen, die entwickelt wurden, als älteres PHP 5.6 die neueste Version war. Sie sind noch aktiv und Sie arbeiten an diesen Anwendungen. Möglicherweise arbeiten Sie gleichzeitig an Laravel, aber Laravel benötigt PHP 7+, um loszulegen. Das Bild bekommen?
In diesem Fall können Sie zwischen den PHP-Versionen wechseln, um Ihren Anforderungen zu entsprechen.
Wechseln Sie von PHP 5.6 => PHP 7.2
Apache:-
sudo a2dismod php5.6 sudo a2enmod php7.2 sudo service apache2 restart
Befehlszeile:-
sudo update-alternatives --set php /usr/bin/php7.2 sudo update-alternatives --set phar /usr/bin/phar7.2 sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2 sudo update-alternatives --set phpize /usr/bin/phpize7.2 sudo update-alternatives --set php-config /usr/bin/php-config7.2
Und umgekehrt: Wechseln Sie von PHP 7.2 => PHP 5.6
Apache:-
sudo a2dismod php7.2 sudo a2enmod php5.6 sudo service apache2 restart
Befehlszeile:-
sudo update-alternatives --set php /usr/bin/php5.6 sudo update-alternatives --set phar /usr/bin/phar5.6 sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6 sudo update-alternatives --set phpize /usr/bin/phpize5.6 sudo update-alternatives --set php-config /usr/bin/php-config5.6
quelle
Geben Sie den angegebenen Befehl in Ihr Terminal ein.
Zum Deaktivieren der ausgewählten PHP-Version ...
Zum Aktivieren anderer PHP-Versionen ....
Es wird die PHP-Version aktualisieren. Wenn Sie ein Downgrade der Version wünschen, können Sie dies auch an PHP_INFO () sehen.
quelle
Wechseln Sie von PHP 5.6 zu PHP 7.2 mit:
sudo a2dismod php5.6 && sudo a2enmod php7.2 && sudo service apache2 restart
Wechseln Sie von PHP 7.2 zu PHP 5.6 mit:
sudo a2dismod php7.2 && sudo a2enmod php5.6 && sudo service apache2 restart
quelle
Sie können diese Open-Source-PHP-Switch-Skripte verwenden, die speziell für die Verwendung in Ubuntu 16.04 LTS entwickelt wurden.
https://github.com/rapidwebltd/php-switch-scripts
Es gibt ein
setup.sh
Skript, das alle erforderlichen Abhängigkeiten für PHP 5.6, 7.0, 7.1 und 7.2 installiert. Sobald dies abgeschlossen ist, können Sie einfach eines der folgenden Switch-Skripte ausführen, um die PHP CLI- und Apache 2-Modulversion zu ändern../switch-to-php-5.6.sh ./switch-to-php-7.0.sh ./switch-to-php-7.1.sh ./switch-to-php-7.2.sh
quelle
Ab PHP 5.6 => PHP 7.1
$ sudo a2dismod php5.6 $ sudo a2enmod php7.1
für alte Linux-Versionen
für neuere Version
quelle
Bitte folgen Sie den Schritten:
i.e : your current version is : current_version = 7.3 , and you want to change it to : new_version = 7.2 1) sudo a2dismod php(current_version) 2) sudo a2enmod php(new_version) 3) sudo update-alternatives --config php (here you need to select php version number) 4) restart apache through : sudo /etc/init.d/apache2 restart OR sudo service apache2 restart
quelle
Ich habe ein Bash-Skript erstellt, um unter Ubuntu zwischen verschiedenen PHP-Versionen zu wechseln.
Hoffe es hilft jemandem.
Hier ist das Skript: (Speichern Sie es in /usr/local/bin/sphp.sh, vergessen Sie nicht, das + x-Flag mit dem folgenden Befehl hinzuzufügen: sudo chmod + x /usr/local/bin/sphp.sh)
quelle
Sie können das folgende Skript verwenden, um einfach zwischen der PHP-Version zu wechseln. Ich habe auch die phpize-Konfiguration hinzugefügt.
https://github.com/anilkumararumulla/switch-php-version
Laden Sie die Skriptdatei herunter und führen Sie sie aus
sh switch.sh
quelle
Wenn Sie laravel unter Ubuntu 18.04 installieren, ist die Standardinstallation von PHP 7.3.0RC3 ausgewählt, aber laravel und symfony werden nicht ordnungsgemäß installiert, wenn Sie sich über missin php-xml und php-zip beschweren, obwohl sie installiert sind. Sie müssen zu PHP 7.1 wechseln, indem Sie die obigen Anweisungen verwenden oder
sudo update-alternatives --set php /usr/bin/php7.1
Jetzt wird das Ausführen des neuen Blogs von laravel korrekt fortgesetzt
quelle