it-swarm.com.de

PHP-Versionen auf Kommandozeile ubuntu 16.04 umstellen

Ich habe PHP 5.6 und PHP 7.1 auf meinem Ubuntu 16.04 installiert

Ich weiß mit Apache als Webserver, was ich tun kann 

a2enmod php5.6 to enable php5
a2enmod php7.1 to enable php7

Wenn ich php7.1 in Apache-Modulen deaktiviere und php5.6 aktiviere, erkennt Apache die Änderung und verwendet den Interpreter php5.6 wie erwartet.

Aber wenn ich interne PHP-Server von der Kommandozeile aus ausführen: -

php -S localhost:8888

pHP verarbeitet Anfragen mit PHP7. Wie kann ich in der Befehlszeile zwischen PHP6.6 und PHP7.1 wechseln?

40
salimsaid

Interaktiver Schaltmodus

Sudo update-alternatives --config php

Manuelle Umschaltung

Von PHP 5.6 => PHP 7.1

Die Standardeinstellung PHP 5.6 ist auf Ihrem System festgelegt 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

Von PHP 7.1 => PHP 5.6

Auf Ihrem System ist die Standardeinstellung PHP 7.1 festgelegt, 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

103
Stevie G

geben Sie dies in Ihre Shell ein

$ Sudo update-alternatives --config php

und das wirst du 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

35
GiorgosK

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 php 7.1 bis ph5.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
10
Rupinder Sohal

Um alle verfügbaren Versionen aufzulisten und eine davon auszuwählen: 

Sudo update-alternatives --config php

Oder mache es manuell

Sudo a2dismod php7.1 // disable
Sudo a2enmod php5.6  // enable
9
Kamal Kumar

Ich würde a2enmod eigentlich nicht für PHP 5 oder 7 empfehlen. Ich würde update-alternatives verwenden. Sie können mit Sudo update-alternatives --config php festlegen, welche systemweite Version von PHP Sie verwenden möchten. Dadurch funktionieren Ihre Befehlszeile und Apache-Versionen gleich. Weitere Informationen zu update-alternatives finden Sie auf der man-Seite .

6
FatBoyXPC

Sie können ein Skript zum Wechseln von Versionen erstellen: Sudo nano switch_php Geben Sie dann Folgendes ein:

#!/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 )"

beende und speichere mache es ausführbar: Sudo chmod +x switch_php

Um das Skript auszuführen, geben Sie einfach ./switch_php [VERSION_NUMBER] ein, wobei der Parameter 7 oder 5.6 ist

Das ist es, Sie können jetzt einfach von PHP7 zu PHP 5.6 wechseln!

4
ihakoz

Geben Sie den Befehl in Ihr Terminal ein ..

Deaktivieren Sie die ausgewählte PHP Version ...

    • Sudo a2dismod php5
    • Sudo-Dienst Apache2 Neustart  
  1. Für die Aktivierung einer anderen PHP Version ....

    • Sudo a2enmod php5.6
    • Sudo-Dienst Apache2 Neustart

Es wird die Php-Version aktualisieren. Wenn Sie ein Downgrade der Version wünschen, können Sie es auch umgekehrt machen. Sie können es über PHP_INFO () sehen.

3

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
3
user1560627

Sie können diese Open-Source-Switches PHP 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-Skripts ausführen, um die CLI- und Apache 2-Modulversion von PHP 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
3
DivineOmega

Von PHP 5.6 => PHP 7.1

$ Sudo a2dismod php5.6
$ Sudo a2enmod php7.1

für alte Linux-Versionen

 $ Sudo service Apache2 restart

für neuere Version

$ systemctl restart Apache2
1

Sie können die Befehlszeilen unten verwenden, um zwischen zwei PHP -Versionen zu wechseln.

Z.B.

Ich möchte PHP Version von 7.1 auf 7.2 umstellen, wir können den folgenden Befehl verwenden

Sudo 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, und a2enmod wird verwendet, um die Version zu aktivieren

1
Ashish Viradiya

Möglicherweise haben Sie eine alte PHP= Version wie PHP 5.6 in Ihrem System, und Sie haben PHP 7.2 ebenfalls installiert mehrere PHP auf Ihrem Computer. Es gibt einige Anwendungen, die entwickelt wurden, als ältere PHP 5.6 war die neueste Version, sie sind immer noch live und Sie arbeiten an diesen Anwendungen, Möglicherweise arbeiten Sie gleichzeitig an Laravel, aber Laravel erfordert PHP 7+), um loszulegen.

In diesem Fall können Sie zwischen den PHP) - Versionen umschalten, um Ihren Anforderungen zu entsprechen.

Wechseln von PHP 5.6 => PHP 7.2

Apache: - Sudo a2dismod php5.6 Sudo a2enmod php7.2 Sudo-Dienst Apache2 Neustart

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 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: Wie installiere ich PHP auf meinem Computer

0
Dinesh Suthar

Bei der Installation von laravel auf Ubuntu 18.04 muss standardmäßig PHP 7.3.0RC3 installiert werden, aber Laravel und Symfony werden nicht ordnungsgemäß installiert und beschweren sich über Missin php-xml und php-Zip, obwohl sie installiert sind. Sie müssen zu php 7.1 wechseln, indem Sie die Anweisungen oben verwenden oder

 Sudo update-alternatives --set php /usr/bin/php7.1

jetzt läuft Laravel New Blog, wird korrekt weitergehen

0
pingle60

Mit dem folgenden Skript können Sie problemlos zwischen der PHP -Version 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
0
Anil Kumar