PHP Versionsverwirrung - Ubuntu 20.04.3 LTS

  • Guten Nachmittag und zunächst entschuldige ich mich für den nicht sehr aussagekräftigen Titel, allerdings viel mir nichts vernünftiges problembeschreibendes ein.
    Also: wir sind neu bei Liveconfig und haben uns an einer Multiserver Umgebung versucht. Soweit läuft Sie aber das folgende ist mir absolut unverständlich, vllt hat jemand eine Idee, die Suche hat nichts ergeben.
    Auf einer Maschine ist Ubuntu 20.04.3 LTS installiert. Wir haben mittels liveconfig-meta den LAMP Stac aufgesetzt. Hierbei wurde PHP-7.4.3 installiert allerdings ohne FPM. (warum auch immer)
    Anschließend fehlte uns der Ioncube Loader. Eine Suche ergab das es von Liveconfig für PHP-7.4 ein fertiges Paket hierfür gibt somit wurde dieses Paket installiert. Als Abhängigkeit des Paketes wollte er dann die durch Liveconfig kompilierte PHP-7.4 Version installieren, allerdings in der Version 7.4.24, somit unter der bereits installierten 7.4.30.
    Auf der Liveconfig PHP Paketseite steht dass unter Ubuntu 20.04.3 PHP in der Version 7.4.30 verfügbar ist,.
    Somit hatten wir dann beide PHP Versionen auf dem System einmal mit FPM und Ioncube in der Version 7.4.3.24 und einmal ohne in der Version 7.4.30.
    Ich könnte jetzt natürlich die durch die Distribution bereitgestellte Version ergänzen oder die Liveconfig Version nutzen und die durch die Distribution installierte Version löschen, aber eigentlich sollte das doch überhaupt nicht so laufen oder mache ich hier einen Denkfehler?
    Theoretisch dürften 2 php7.4 Versionen doch garnicht auf dem System parallel existieren dürfen;
    Vllt kann jemand etwas Licht ins Dunkel bringen, es würde mich freuen
    viele Grüße

  • Theoretisch dürften 2 php7.4 Versionen doch garnicht auf dem System parallel existieren dürfen;



    Doch, natürlich können zwei PHP 7.4 parallel existieren: einmal in /usr/bin/php von Ubuntu/Debian selbst, und einmal in /opt/php-7.4/bin/php mit den PHP-Paketen von LiveConfig.


    Hier gibt es keinen Widerspruch, die Pakete sind auch komplett voneinander unabhängig.


    Spannend wird es dann beim Upgrade von Debian/Ubuntu: hier wird aus der "PHP" in /usr/bin/php aus dem PHP 7.4 dann irgendwann PHP 8.0 - die zusätzliche Version in /opt/php-7.4 bleibt aber unverändert bestehen.

  • Was sich mir hier aber nicht erschließt ist die Tatsache dass für die Distribution eigentlich das Liveconfig PHP Paket in der Version 7.4.3 zur Verfügung steht aber nur 7.4.24 installiert wird.


    Ubuntu hat 7.4.3: https://packages.ubuntu.com/focal/php7.4-fpm


    LiveConfig selbst hat eine andere Version: https://www.liveconfig.com/de/…an-mehrere-php-versionen/



    Das Paket von LiveConfig ist also neuer (die dritte Zahl gibt das Patchlevel an: Ubuntu hat Patch-Level 3, LiveConfig bringt 24).

  • Danke, da hatte ich dann einen Denkfehler ;)
    Das einfachste währe ja dann die von Ubuntu mitgelieferte Version zu deinstallieren und die von Liveconfig zu installieren.
    Funktioniert aber so nicht, (zumindest nicht sauber) da dann das meta Paket durcheinander kommt und die restlichen Pakete als nicht mehr benötigt ansieht und vorschlägt diese zu entfernen.
    Gibt es denn eine sinnvolle Möglichkeit das von Ubuntu mitgelieferte PHP auszublenden oder gern auch zu deaktivieren sodass die Liveconfig Version als Standaert gesetzt werden kann?
    Oder gibt es alternativ eine Möglichkeit die Liveconfig Version als Standard Version zu setzen, dann könnte man ja die Ubuntu Version ausblenden, was derzeit nicht funktioniert da Sie als Standard gesetzt ist.

  • Wenn die Distribution PHP 7.4.x mitbringt, dann gibt es eigentlich keinen dringenden Grund, statt dessen das PHP 7.4.x von LiveConfig zu installieren. Auch wenn die Versionsnummer der Distributions-Variante kleiner ist, enthält dieses dennoch alle relevanten Sicherheitspatches.
    Im Zweifelsfall kann man aber über "Serververwaltung" -> "Web", Box "PHP-Versionen" eine nicht mehr gewünschte PHP-Version ausblenden (Checkbox "darf nicht für neue Konfigurationen ausgewählt werden" aktivieren).


    Viele Grüße


    -Klaus Keppler

  • Stimmt, einen dringenden Grund gibt es nicht, aber einen praktischen.
    Das von der Distribution mitgelieferte PHP ist ohne FPM und ohne Ioncube Loader konfiguriert. Die PHP Version die Liveconfig anbietet hat beides mit drin und somit könnte man sich händisches gefummel sparen.
    Das mit der Standard Version war mein Gedanke auch scheitert aber daran dass beide php74 heißen und ich somit nicht die eine oder andere als Standard wählen kann.
    Zudem kann ich die Standard Version nicht für neue Verträge deaktivieren. Wie ist hier dann am besten vorzugehen?

  • Bei mir erkennt nach einem Dist-Upgrade von Debian9 auf 11 LC das FPM aus dem Debian Paket nicht.
    Ich erhalte dann:


    "[2022/03/20 23:29:56.038336] [115292|115296] [LUA] PHP version nil configured as FPM for subscription xxx but no PHP found for this version!
    [2022/03/20 23:29:56.038571] [115292|115296] [LUA] PHP version nil configured as FPM for subscription xxx but no PHP-FPM found for this version!
    "


    Da ich noch mitten um Update bin, hab ich wenigen betroffenen Webs auf FCGI umgestellt.
    Das Paket php7.4-fpm hatte ich aus dem Debian Repo installiert, den FPM gestartet, aber LC hat den FPM nicht erkannt, trotz Neustart. LUA-Dateien habe ich nicht angelegt.


    Anton: Deinen letzten Beitrag verstehe ich so, dass LC dies einfach so hätte erkennen sollen? Falls ja: Was mache ich falsch?

  • Was zeigt LiveConfig denn unter "Serververwaltung" -> "Web" in der Box mit den PHP-Versionen an?
    An sich müssten einfach nur die Pakete "php-cli" und "php-fpm" installiert werden.


    Eventuell wurde nach dem Dist-Upgrade der Server nicht gleich rebootet, und LiveConfig hatte somit noch eine alte/unvollständige Liste an erkannten PHP-Paketen.

Jetzt mitmachen!

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