Standard PHP-Version ändern

  • Guten Tag,


    wie kann die Standard PHP-Version in LiveConfig geändert werden?


    Bei jeder neu angelegten Domain/Subdomain wird automatisch immer die PHP-Version der Linux-Distribution verwendet, wie kann dieses geändert werden, wenn z.B. mehrere PHP-Versionen installiert sind?


    Danke
    Alex

  • So hier mal die Auflösung, es gibt 2 Varianten.


    Variante 1 mit Standard PHP Version aus dem Repo:
    LC.web.addPHP(nil, "/opt/rh/php54/root/usr/bin/php-cgi")
    LC.web.addPHP("php55", "/opt/rh/php55/root/usr/bin/php-cgi")
    LC.web.addPHP("php52", "/opt/php_5.2.17/bin/php-cgi")


    Die erste Zeile betrifft die Standard Version.


    Variante 2 mit eigenen PHP Versionen die nicht über apt oder yum etc installiert wurden:
    LC.web.addPHP("php5", "/opt/rh/php54/root/usr/bin/php-cgi")
    LC.web.addPHP("php55", "/opt/rh/php55/root/usr/bin/php-cgi")
    LC.web.addPHP("php52", "/opt/php_5.2.17/bin/php-cgi")


    "php5" wäre hier die default PHP Version.


    Einfach die entsprechenden Pfade anpassen, nach Anpassung sollte man auch per liveconfig diag die PHP Versionen angezeigt bekommen.

  • Funktioniert bei mir leider nicht, habe sowohl die PHP-Version der Linux-Distribution als auch eigene PHP-Versionen installiert.


    Es können zwar alle PHP-Versionen ausgewählt werden, aber es kann keine eigene "Standard PHP-Version" deklariert werden.

  • Bei uns ist die "php5" eine selbst installierte bzw kompelierte PHP 5.4 die als Standard ausgewählt ist, die PHP 5.5 und 5.2 sind zusätzlich zur Auswahl vorhanden (CentOS Umgebung).


    "php5" ist auch bei mir die Standard PHP-Version (Installation über die Linux-Distribution), wenn ich diese nun versuche zu ändern/überschreiben (mit der selber installierten PHP-Version):


    Code
    LC.web.addPHP("php5", "/opt/phpfcgi-5.6.18/bin/php-cgi")
    LC.web.addPHP("php56", "/opt/phpfcgi-5.6.18/bin/php-cgi")
    LC.web.addPHP("php55", "/opt/phpfcgi-5.5.32/bin/php-cgi")
    LC.web.addPHP("php54", "/opt/phpfcgi-5.4.26/bin/php-cgi")
    LC.web.addPHP("php703", "/opt/phpfcgi-7.0.3/bin/php-cgi")


    verschwindet zwar in der PHP-Auswahl die Standard PHP-Version der Linux-Distribution, aber es wird nicht die Version 5.6.18 als neuer Standard gesetzt, sondern die kleinste installierte PHP-Version (in meinem Fall 5.4.26).

  • In der custom.lua die Variable "LC.web.PHPDEFAULT" auf die gewünschte PHP-Version setzen, z.B.:

    Code
    LC.web.PHPDEFAULT = "php71"


    Anschließend LiveConfig neu starten, dann eine IP-Gruppe, Hostingangebote oder Verträge bearbeiten um die vHost-Konfigurationen neu schreiben zu lassen.


    Viele Grüße


    -Klaus Keppler

  • Wir haben einige Server am Laufen und je Server (über die custom.lua) unterschiedliche PHP-Versionen als Standard gesetzt.
    Bei ein paar steht der Standard noch auf 5.6, bei manchen auf 7.0/7.1/7.2.


    Wir würden nun gerne den Standard überall auf 7.3 setzen ohne aber die bestehenden Verträge/Webseiten,
    die in der Auswahl Standard (und damit 5.6 usw.) gewählt haben, zu beeinflussen.


    Wie müssen wir vorgehen?
    Einfach nur den Standard-Eintrag in der custom.lua anpassen?


    Speichert sicht LC die PHP-Version für diese Verträge/Webseiten mit der passenden Version oder als "standard"
    und wenn wir nun "standard" umstellen, stellen wir auch die PHP-Versionen für die Webseiten um?


    Danke!



    Edit - Auch wenns nicht ganz zum Thema passt:
    Ist es möglich sich die Verträge auflisten zu lassen, die eine gewisse PHP-Version verwenden?
    Wir wollen uns einen Überblick verschaffen bei welchen Verträgen noch PHP 5.5/5.6 aktiv ist
    um diesen Kunden eine Infomail zukommen zu lassen.

  • Edit - Auch wenns nicht ganz zum Thema passt:
    Ist es möglich sich die Verträge auflisten zu lassen, die eine gewisse PHP-Version verwenden?
    Wir wollen uns einen Überblick verschaffen bei welchen Verträgen noch PHP 5.5/5.6 aktiv ist
    um diesen Kunden eine Infomail zukommen zu lassen.


    Nach einer solchen Lösung hatte ich auch gesucht, aber nichts gefunden. Bei der Umstellung von NIL auf LC.web.PHPDEFAULT = "php71" gab es vereinzelt letzte Anwender mit 5.6er Standard-Einstellung, die leider weiße Seiten sahen. Zur eindeutigeren Steuerung der Versionen bis hin zum Vertrag hatte ich bereits angeregt. https://www.liveconfig.com/de/…nen-je-Vertrag-definieren Feedback von KK gab es dazu leider nicht.


    Für eine direkte Ansprache in Bezug auf das Supportende für 5.6 und 7.0 hatte ich mir mit dem Server-Status beholfen. Der mod_fcgid status listet die laufenden php-fcgi-starter Pozesse auf. Es ist zwar nicht die goldene Lösung, aber half zeitnah weiter.

  • Wir würden nun gerne den Standard überall auf 7.3 setzen ohne aber die bestehenden Verträge/Webseiten,
    die in der Auswahl Standard (und damit 5.6 usw.) gewählt haben, zu beeinflussen.


    Soll PHP 7.3 also nur für neue (Sub)Domains als "Standardversion" voreingestellt werden?
    Das ist nicht ganz einfach. "Standardversion" bedeutet, dass für die betroffene Domain keine bestimmte Version fest eingestellt ist. Man kann höchstens sagen, dass alle Verträge die aktuell die Standardversion (z.B. 5.6) nutzen, fix auf 5.6 eingestellt werden und anschließend z.B. 7.3 als neue Standardversion festsetzen. Damit sind aber die alten Verträge auf die bislang alte Standardversion "festgenagelt".


    Zitat

    Speichert sicht LC die PHP-Version für diese Verträge/Webseiten mit der passenden Version oder als "standard"
    und wenn wir nun "standard" umstellen, stellen wir auch die PHP-Versionen für die Webseiten um?


    Technisch betrachtet speichert LiveConfig bei den Domains, bei denen "Standard" ausgewählt ist, einfach keine Versionsnummer sondern wählt während die vHost-Konfiguration erzeugt wird die Version, die als PHP-Standardversion erkannt bzw. festgelegt wurde.



    Zitat

    Edit - Auch wenns nicht ganz zum Thema passt:
    Ist es möglich sich die Verträge auflisten zu lassen, die eine gewisse PHP-Version verwenden?
    Wir wollen uns einen Überblick verschaffen bei welchen Verträgen noch PHP 5.5/5.6 aktiv ist
    um diesen Kunden eine Infomail zukommen zu lassen.


    Code
    grep -l php56 /etc/apache2/sites-available/*.conf


    Viele Grüße


    -Klaus Keppler

  • Wir würden nun gerne den Standard überall auf 7.3 setzen ohne aber die bestehenden Verträge/Webseiten,
    die in der Auswahl Standard (und damit 5.6 usw.) gewählt haben, zu beeinflussen.


    Das geht in Prinzip nur wenn man manuell von Standard auf PHP 5.6 für den Kunden bzw. Domain umstellt. Wir haben hierbei einfach direkt in die Datenbank eingegriffen und bei den Domains die keine bestimmte PHP-Version hatten, fest auf die 5.6-Version geändert. Aber aufpassen, dass man nicht die Datenbank zerschießt oder sonst was anrichtet ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!