Die PHP-Funktion imap_open benutzt ihrerseits eine systemnahe Funktionsbibliothek (libc-client), um den Zugriff auf Mailboxen herzustellen. Diese Bibliothek hat eine tief verankerte Beschränkung, die verhindert, dass der Webserver mehr als 1024 Dateien gleichzeitig geöffnet haben kann. Durch unser momentan verwendetes technisches Konzept, wie wir PHP anbieten (mod_php), können wir bei unserer Shared-Hosting-Umgebung bisweilen an eben diese Begrenzung stoßen.
Falls ein Prozess versucht, parallel die 1025. Datei zu öffnen, schlägt dies fehl - mit der Konsequenz, dass es zu einem Fehler in Ihrem Skript oder gar dem Absturz eines Webserverprozesses kommt. Ein solcher Fehler ist dann praktisch nicht reproduzierbar.
Da die limitierende Bibliothek sehr systemnah ausfällt und von verschiedensten Applikationen benutzt wird, könnten von unserer Seite durchgeführte Änderungen an der Bibliothek zu unabsehbar vielen anderen, möglicherweise schwerwiegenderen Problemen führen. Daher möchten wir keine eigene Version pflegen.
Das Problem ist den Entwicklern der Bibliothek bekannt. Allerdings ist noch offen wann eine endgültige Lösung für das Problem erscheint.
Da sich bei unseren Managed-Produkten immer nur ein Kunde auf einem virtuellen oder dedizierten Server befindet, ist die Anzahl der geöffneten Dateien des Webservers meist sehr gering. Das Problem ist dort bisher noch nicht aufgetaucht - natürlich können wir auch dort keine hundertprozentige Verfügbarkeit der Funktion garantieren, da auch dort die besagte Bibliothek im Einsatz ist.