PHP 8.1 Installieren auf KeyHelp am ARM Server

Diskussionen zur Installation von KeyHelp.
Post Reply
mmaark
Posts: 94
Joined: Mon 29. May 2023, 08:58

PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by mmaark »

Hallo.
Gibt es eine Lösung, dass man bei Debian 12 / KeyHelp / ARM Server => PHP 8.1 nutzen könnte?
Derzeit ist Debian 12 mit PHP 8.2 möglich.

Gibt es dafür Möglichkeiten dafür und auch eine Lösung?
Mit freundlichen Grüßen, mmaark
User avatar
Florian
Keyweb AG
Posts: 1682
Joined: Wed 20. Jan 2016, 02:28

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by Florian »

Hallo,

ist alles im Gang:

viewtopic.php?t=13456
Mit freundlichen Grüßen / Best regards
Florian Cheno

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by 24unix »

Noch keine offizielle.

Was evtl. gehen könnte:
php8.1 von sury installieren, und dann manuell php wieder auf 8.2 drehen.
Würde ich auf jeden Fall nicht auf einem Produktivsystem testen.

Ich ich mache es nach Feierabend mal auf meinem Dev-System, wenn es schief geht ist ein restore schnell gemacht.
Wenn es doch geht, kann ich meine Basteleien auf 8.4 umstellen :-)
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by 24unix »

Doppelpost, weil aus dem Edit-Window raus.

Also, es geht, aber für den Produktiveinsatz würde ich es niemandem empfehlen.

Das ist nur eine Information zum technischem Hintergrund, ich ermuntere niemanden, dass nachzumachen, ausser auf einem Bastelsystem im LAN oder einer VM!
SCR-20241120-pgod.png
Vorab: 2 PHP-Versionen gehen einfach, wenn man sie z.B. fur die CLI benötigt.
Wichtig ist, dass das php binary im System genau die Version hat, mit der Debian Bookworm ausgeliefert wird, PHP8.2, sonst funktioniert das Panel nicht mehr.

Also, dann mal zur Tat schreiten:

Das mit dem Editor eurer Wahl anlegen:

Code: Select all

#!/bin/sh
# To add this repository please do:

if [ "$(whoami)" != "root" ]; then
    SUDO=sudo
fi

${SUDO} apt-get update
${SUDO} apt-get -y install lsb-release ca-certificates curl
${SUDO} curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
${SUDO} dpkg -i /tmp/debsuryorg-archive-keyring.deb
${SUDO} sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
${SUDO} apt-get update
Z.B.

Code: Select all

vi sury.sh
danach

Code: Select all

chmod +x sury.sh
./sury.sh
Dann könnt ihr mit

Code: Select all

apt install php8.4
die aktuellste Version, 8.1 wie vom OP gewünscht oder halt jede andere die bei Sury verfügbar ist installieren.

Jetzt kommt der wichtige Schritt:

Code: Select all

update-alternatives --set php /usr/bin/php8.2
Jetzt sollte euer System sich so verhalten:

Code: Select all

❯ php --version
PHP 8.2.24 (cli) (built: Sep 27 2024 04:16:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.24, Copyright (c) Zend Technologies
    with the ionCube PHP Loader v13.3.0, Copyright (c) 2002-2024, by ionCube Ltd.
    with SourceGuardian v15.0.1, Copyright (c) 2000-2024, by SourceGuardian Ltd.
    with Zend OPcache v8.2.24, Copyright (c), by Zend Technologies
    with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans
❯ php8.4 --version
PHP 8.4.0RC4 (cli) (built: Nov 16 2024 18:40:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.0RC4, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.0RC4, Copyright (c), by Zend Technologies
Ihr habt nun eine alternative PHP Version auf dem System die ihr auf der Shell nutzen könnt. Das Panel funktioniert weiterhin.

Wenn ihr jedoch eine Webseite mit einer anderen PHP-Version ausliefern wollt, ist mehr Aufwand erforderlich, und ich rate für den Produktivbetrieb dringend davon ab, zum Spielen in einer VM ist es OK.

Als erstes braucht ihr PHP-fpm:

Code: Select all

apt install php8.4-fpm
Ich habe dann in der db eine Domain auf PHP-8.4 umgestellt:

Code: Select all

UPDATE `domains` SET `php_version` = '8.4' WHERE `domains`.`id` = 22
Die id bekommt ihr raus, indem ihr mit der Maus über dem Edit-Button hovert, dann wird in der Statuszeile eine URL mit GET-Parametern angezeigt, z.B.: https://keyhelp.lab.24unix.net/index.ph ... t&id=[b]22[/b]
SCR-20241120-pnpt.png
SCR-20241120-pnpt.png (7.51 KiB) Viewed 5107 times
Alternativ könntet ihr auch

Code: Select all

WHERE domain="<fqdn>"
nehmen.
Oder ihr nehmt PhpMyAdmin.

Jetzt könnt ihr mit der

Code: Select all

 keyhelp-toolbox
die Domain-Config neu generieren lassen. (Erster Punkt in der Liste).

Ich habe dann die pool conf von keyhelp über die default conf kopiert:

Code: Select all

cp /etc/php/8.2/fpm/keyhelp_pool/tracer.conf /etc/php/8.4/fpm/pool.d/www.conf
Als nächstes

Code: Select all

systemctl restart php8.4-fpm
Dann eine Testseite anlegen, z.B. i.html
mit dem Inhalt:

Code: Select all

<?php
    phpinfo();
Die könnt ihr nun aufrufen und werdet von einem 500er empfangen.
Jetzt schaut ihr in die error-log der betreffenden Domain, und seht, wo es klemmt:

Code: Select all

[Wed Nov 20 17:07:37.314476 2024] [proxy:error] [pid 9866:tid 9909] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/keyhelp_tracer_php84.socket (keyhelp_tracer_php84.socket:8000) failed
Der letzte Schritt ist nun, den Namen der Socket-Datei in der pool-Config anzupassen:

Code: Select all

vi /etc/php/8.4/fpm/pool.d/www.conf
Die Zeile: listen = /run/php/keyhelp_tracer_php84.socket
müsst ihr anpassen.

Dann nochmal den fpm Prozess neu starten, und es sollte klappen (Wenn ich in meinem Gedächtnisprotokoll nichts vergessen habe, ansonsten bitte nachhaken).

Ich hoffe, der eine oder andere kann etwas damit anfangen, ich fand es auf jeden Fall spannend, weil ich nicht wusste, was genau KeyHelp generiert, wenn der Interpreter dem System selber nicht bekannt ist.
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
mmaark
Posts: 94
Joined: Mon 29. May 2023, 08:58

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by mmaark »

Florian wrote: Wed 20. Nov 2024, 15:14 Hallo,

ist alles im Gang:

viewtopic.php?t=13456
Ah ok danke für die info.
wenn Updates erscheinen, wird es hier im Forum angekündigt, oder?
KeyHelp macht selbst Updates vom Control Panel oder?
Mit freundlichen Grüßen, mmaark
User avatar
Jolinar
Community Moderator
Posts: 4004
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by Jolinar »

mmaark wrote: Sun 24. Nov 2024, 07:09 wenn Updates erscheinen, wird es hier im Forum angekündigt, oder?
Ja

mmaark wrote: Sun 24. Nov 2024, 07:09 KeyHelp macht selbst Updates vom Control Panel oder?
Ja
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by 24unix »

Ach ja, die DIY-Lösung bitte nicht nachbauen, mein System hat sich zerlegt, ich schreibe später noch mal ausführlicher was dazu.

Kurz: Wer einen zusätzlichen Interpreter braucht, kann den wie beschrieben installieren.
Aber: danach die sury Sourcen wieder löschen!
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
omexlu
Posts: 197
Joined: Wed 28. Aug 2024, 10:42

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by omexlu »

Die Fragen hab ich dir doch schon X mal per PN beantwortet :/
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: PHP 8.1 Installieren auf KeyHelp am ARM Server

Post by 24unix »

Also, ich wollte ja noch was dazu schreiben.

Mein System lief ja, wie es sollte, für mein Symfony-Bastelprojekt musste ich noch php8.4-mysql nachinstallieren, aber ansonsten alles easy.

Panel läuft, meine Seite lauft, schön.

Aber, ach …

Gestern wollte ich was im Panel nachsehen, Panel tot, 500er.
In dem php Logs stand nur, dass der Daemon unerwartet nach ein paar ms beendet wurde.
Hmm, also erst mal ein

Code: Select all

dpkg -l|grep php
gemacht.
Ufff.
PHP8.2 war noch drauf.
Und PHP8.3 war auch drauf, als neuer default.
php hatte eine feste Abhängigkeit gegen php8.3, und bei allen anderen Paketen war es identisch.
Hmm, OK, versucht, das ganze zu reparieren, die Sury Quellen gelöscht, PHP 8.3 gelöscht, aber:
8.2 war auch ausgetauscht, statt 8.2.24 war 8.2.26 auf dem System, 10 Minuten habe ich rumprobiert, ein Downgrade zu erzwingen, es dann als Zeitverschwendung abgetan, und die VM auf den Zustand zurückgesetzt bevor ich 8.4 eingespielt habe.

Ich brauche 8.4 nicht zwingend, meine Basteltrieb habe ich befriedigt, es ist möglich, einen anderen Interpreter zusätzlich einzuspielen und das Panel generiert passende Configs.

Nur sollte man danach tunlichst die Sury-Quellen deaktivieren, bevor ein Wartungsscript kommt und vermeintliche Updates einspielt …

Ich lasse es jetzt erstmal wie es ist, in 4 Wochen habe ich Urlaub, entweder mache ich es dann nochmal und befasse mich vorher apt-Pinning, oder evtl. ist bis dahin auch die KeyHelp Unterstützung für PHP-Interpreter auf ARM fertig.

Ansonsten halt noch mal wie oben beschrieben, und danach die Sury-Quellen löschen, oder sicherstellen, dass PHP8.2 nicht angefasst wird. Das sollte mit apt-pinning gehen, habe ich aber noch nie gemacht, wäre ein Grund, das im Urlaub mal zu lernen.
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
Post Reply