Modul zu benutzerdefiniert kompiliertem PHP hinzufügen

Modul zu benutzerdefiniert kompiliertem PHP hinzufügen

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_diroder 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.

verwandte Informationen