In CentOS habe ich eine kompilierte Version von PHP, aber es fehlt das IMAP-Modul. Ist es möglich, dieses Modul hinzuzufügen, ohne PHP neu zu kompilieren?
Antwort1
Ja, Sie können einfach den Quellcode Ihrer aktuellen Version herunterladen, ihn entpacken, in das Verzeichnis ext/imap des entpackten Quellcodes gehen und dann Folgendes ausführen:
phpize
./configure
make
Möglicherweise müssen Sie ./configure mit einigen Optionen ausführen, die die verwendeten IMAP-Bibliotheken angeben, wie:
--with-imap=DIR Include IMAP support. DIR is the c-client install prefix
...
--with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix
Nachdem Sie das Modul kompiliert haben, sollten Sie es unter ext/imap/modules finden, es sollte imap.so heißen, also ext/imap/modules/imap.so. Sie müssen es weiter in das Verzeichnis extension_dir verschieben, das Sie durch Ausführen php -i | grep extension_dir
oder durch Erstellen einer PHP-Datei erhalten, die <?php phpinfo(); ?>
es von der Weboberfläche aus ausführt. Suchen Sie anschließend auf der Ergebnisseite nach extension_dir.
Nachdem Sie die Moduldatei verschoben haben, müssen Sie in der Datei php.ini eine Zeile hinzufügen (oder eine INI-Datei im Verzeichnis für zusätzliche INI-Dateien erstellen), die besagt:
extension=imap.so
Danach müssen Sie Ihren Webserver oder PHP-FPM-Dienst neu starten, falls Sie PHP-FPM verwenden.