Fehler bei imap_open

Hallo zusammen,

habe seit kurzem (scheinbar seit Ende Januar) folgenden Fehler beim Aufruf von

imap_open()

(Standard PHP Function):

Fatal error:  Uncaught Error: Call to undefined function imap_open() in C:\ProgramData\Symcon\scripts\41304.ips.php:7
Stack trace:
#0 {main}
  thrown in C:\ProgramData\Symcon\scripts\41304.ips.php on line 7
Abort Processing during Fatal-Error: Uncaught Error: Call to undefined function imap_open() in C:\ProgramData\Symcon\scripts\41304.ips.php:7
Stack trace:
#0 {main}
  thrown
   Error in Script C:\ProgramData\Symcon\scripts\41304.ips.php on Line 7

hat sich hier was geändert, oder ist da nur bei mir was faul?

Mein Skript hat vorher einwandfrei funktioniert, eine bewusste Änderung hat meinerseits nicht stattgefunden.

Danke für die Unterstützung.

Grüße
Holger

Schau mal, ob im IP-Symcon Ext Ordner die IMAP Extension korrekt installiert ist. Eigentlich hätte der Installer diese immer korrekt aktualisieren sollen.

paresy

Hallo paresy,

du hattest recht, die „php_imap.dll“ war, aus welchen Gründen auch immer, nicht im ext Ordner.

Danke für die Unterstützung. :loveips:

Grüße
Holger

Hallo,
ich habe ein IP-Symcon 5.5 neu (leer) auf Win10 aufgesetzt.
Der Installer installiert im ext Ordner nicht die „php_imap.dll“.
Wie kann man das nachholen?
Gruß Hainer

Der einfachste Weg ist, du erstellt eine php_imap.dll (einfach ne leere Datei) und lässt den Installer drüber laufen. Der merkt dann, dass du diese haben willst und installiert diese entsprechend.

Der korrekte, manuelle Weg ist hier beschrieben: PHP — IP-Symcon :: Automatisierungssoftware

paresy

Danke, funktioniert wieder.
Gruß Hainer

Habe den Server mal wieder neu aufgesetzt.
Win11Prof mit aktueller 8.1
Die „php_imap.dll“ ist wieder nicht dabei.
Der Trick mit eine leere „php_imap.dll“ in das ext-Verzeichnis zu legen und den Installer drüber laufen zu lassen, funktioniert nicht.
Die leere „php_imap.dll“ wird vom Installer gelöscht.

Habe auch schon versucht eine alte „php_imap.dll“ in das Verzeichnis zu legen und die php.ini um die „php_imap.dll“ ergänzt, Server neu gestartet, auch ohne Erfolg.
Die Funktion ist dann unbekannt.

Wie bekomme ich die „php_imap.dll“ wieder zum laufen?

Gruß Hainer

FAST Gelöst:

meine „php_imap.dll“ hatte die Version 8.2.12.
Habe mir die „php_imap.dll“ in Version 8.3.14 besorgt über PECL :: Paket :: imap
in das ext-Verzeichnis gelegt und die php.ini angepasst.
Rechner neu gestartet und IMAP funktioniert.

ABER, wenn man den Installer drüber laufen lässt wird die „php_imap.dll“ im ext gelöscht und auch in der php-ini wird der Eintrag „php_imap.dll“ gelöscht.

WIE kann man das Löschen verhindern?

Gruß Hainer

Löst zwar nicht dein Problem, aber schau dich lieber nach einer Alternative um.
Mit PHP8.4 ist diese Erweiterung für immer weg (außer es findet sich ein Maintainer)

Eine Alternative wäre z.B.

Danke für die Information.
Ich habe begonnen es auf das integrierte IMAP Modul umzustellen.
Funktioniert erstmal auch sehr gut.