Aktuell plant die PHP Community einige Extensions mit PHP 8.4 zu entfernen bzw. diese nicht mehr standardmäßig auszuliefern. (PHP: rfc:unbundle_imap_pspell_oci8) Dadurch wird die Verfügbarkeit dieser Erweiterungen ingesamt auf lange Sicht fragwürdig.
Die betroffenen Erweiterungen sind aktuell:
OCI (Oracle)
IMAP (die imap_* Befehle; Nicht unser integriertes IMAP Modul; IMAP über curl_* ist auch weiterhin verfügbar)
psspell
Betroffen sind dabei auch ausschließlich die Windows User - alle anderen Plattformen haben eine vollständig integrierte PHP Version, welche ein festes, von uns ausgewähltes Set an Erweiterungen hat. Keine der o.g. Erweiterungen ist dort Bestandteil. Somit ändert sich dort nichts.
Unter Windows gibt es aber einige Erweiterungen, die aktuell noch optional installiert werden können - insbesondere, wenn ihr von der Version 3.4 oder älter kommt, werden diese Erweiterungen ggf. mitgeschleppt. Interessant ist aber, welche ihr davon auch tatsächlich nutzt und weiter nutzen wollen würdet.
Folgende Erweiterungen habe ich ermittelt, die aktuell noch unter Windows verfügbar sind, aber nicht in den Linux&Co Versionen mitgeliefert werden.
Liste der Erweiterungen, die eher wahrscheinlich in Benutzung sind:
pgsql (PostgreSQL Anbindung)
snmp (Furchtbare Erweiterung, die immer wieder Abstürze verursacht. Sollte dringend durch unser Store Module getauscht werden. Am liebsten würde ich diese Erweiterung bereits zur 7.x entfernen)
sqlite3 (Evtl. noch aus IP-Symcon 3.x Zeiten in Benutzung)
Liste der Erweiterungen, die eher unwahrscheinlich in Benutzung sind:
bzip2
com_dotnet
enchant
ffi (Erst neu seit PHP 8.0)
gettext (Früher im ganz alten HTML4 WebFront in Verwendung. Symcon 2.x Zeiten)
ldap
odbc (Vermutlich werden eher die native Treiber z.B. für MySQL verwendet)
Ich würde gerne herausfinden, wie viele von euch betroffen wären, wenn wir die Windows Version von PHP ebenfalls vollständig integrieren würden und somit auch alle IP-Symcon Versionen in der PHP angleichen würden.
Ich würde zum nächsten 7.0er Update mal einige der „unwahrscheinlichen“ Erweiterungen entfernen, um ein Gefühl dafür zu bekommen, ob ggf. doch jemand diese benutzt. Somit bitte melden, wenn Bedarf für die ein oder andere Erweiterung besteht.
Hi,
ich habe auf die 7er aktuallisiert und mir ist aufgefallen das die ‚php_com_dotnet.dll‘ fehlt.
Ich habe die passende in das „ext“ Verzeichnis koppiert und jetzt läuft es.
Wäre aber super wenn ich das nicht jedesmal manuell machen müsste.
Hallo Paresy,
ich bin gerade auf diesen thread gestoßen, da ich bz2 Dateien vom DWD unzippen wollte.
Die Extension ist in der aktuellen 7.2 nicht verfügbar. Mein Symcon läuft als Docker auf QNAP. Habe daher mal versucht via exec den Befehl bzip2 bzw. über shell Script die Aufgabe zu lösen. Leider wird der Befehl nicht gefunden auch bei Angabe des Pfades (aus which bzip2 geholt). Interessant ist, dass wenn ich den Befehl in ein bash Script schreibe, geht es via Telnet/SSH aber nicht via exec in php von Symcon. Befehl bzip2 nicht gefunden.
Irgendetwas mit den Rechten / Umgebung scheint bei exec nicht zu klappen. Andere Befehle wie ls funktionieren übrigens.
Wäre toll wenn eine der beiden Wege funktionieren würde.
Klaus
Berechtigungen dürften kein Problem sein, solange du INNERHALB der Docker-Pfade bleibst. Eigene PHP Extensions gibts nur unter Windows. Es ist immer schwierig, wenn du schreibst ‚es geht in der Shell‘. Um dazu eine Aussage zu treffen müsste man schon den kompletten Befehl kennen.
Der shell Befehl lautet: /bin/bzip2 -dkf /var/lib/symcon/temp/HG_LATEST_000.bz2
Dieser funktioniert direkt in Telenet/SSH und in einem script test.sh und test.sh in Telenet/SSH gestartet. Das selbe als PHP: $ret = exec(„/bin/bzip2 -dkf /var/lib/symcon/temp/HG_LATEST_000.bz2“ . " 2>&1", $out, $rc); leider nicht (auch ohne " 2>&1", dieser liefert nur noch den vollständigen Fehlertext).
Der Pfad /bin/bzip2 kommt vom linux Befehl which bzip2 aus der Telenet Session.
Vielleicht weißt Du ja eine Lösung.
Danke