php_mailparse.dll für PHP 5.3.x
An English version of this page is also available here: php_mailparse.dll for PHP 5.3.x |
PHP bietet selbst keine mit Visual Studio C++ 6 (VC6) kompilierten Binaries von PHP mehr an. Seit PHP 5.3.6 benötigt man eine neue Version der php_mailparse.dll, welche mit VC9 kompiliert sein muss. Diese Version ist hier verfügbar. |
Nachdem ich lange Zeit verzweifelt versucht habe, die PECL-Erweiterung (PECL: „PHP Extension Community Library“) mailparse für PHP in kompilierter Form im Internet zu finden, habe ich einige Zeit investiert, die benötigte *.dll-Datei selbst zu kompilieren. Leider gestaltete sich der Versuch zeitaufwändiger, als ursprünglich geplant. Ich danke daher Иван Гущин, der in meinem Auftrag die php_mailparse.dll für die aktuelle PHP-Version 5.3.x kompiliert und eine Dokumentation dazu erstellt hat. Ich stelle die *.dll-Datei zum öffentlichen Download zur Verfügung.
Download und Installation der php_mailparse.dll für PHP 5.3.x
Die resultierende php_mailparse.dll, kompiliert in VC6 und gegen den aktuellen PHP 5.3.5-Quellcode habe ich hier zum Download gestellt. Die php_mailparse.dll kann als Erweiterung sehr einfach in PHP 5.3.x hinzugefügt werden: Die Datei php_mailparse.dll einfach in den Unterordner /ext
des PHP-Installationspfads (z.B. C:\Program Files (x86)\PHP\ext
) kopieren und in der PHP-Konfigurationsdatei (php.ini
, i.d.R. zu finden im Installationspfad, z.B. C:\Program Files (x86)\PHP
) aktivieren. Es folgt ein beispielhafter Ausschnitt aus einer php.ini
:
;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ; If you wish to have an extension loaded automatically, use the following ; syntax: ; ; extension=modulename.extension ; ; For example, on Windows: ; ; extension=msql.dll ; ; ... or under UNIX: ; ; extension=msql.so ; ; ... or with a path: ; ; extension=/path/to/extension/msql.so ; ; If you only provide the name of the extension, PHP will look for it in its ; default extension directory. ; ; Windows Extensions ; Note that ODBC support is built in, so no dll is needed for it. ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) ; extension folders as well as the separate PECL DLL download (PHP 5). ; Be sure to appropriately set the extension_dir directive. ; extension=php_mbstring.dll extension=php_bz2.dll extension=php_curl.dll ;extension=php_dba.dll extension=php_exif.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_ming.dll ;extension=php_mssql.dll extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll extension=php_tidy.dll extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.dll extension=php_mailparse.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll
In Zeile 73 wird die Erweiterung aktiviert.
mailparse benötigt die PECL-Erweiterung mbstring (php_mbstring.dll). Diese muss vor der php_mailparse.dll geladen werden (vgl. Zeile 32)! |
Hintergrund
Ich betreibe auf mehreren Systemen das E-Mail-Ticket-System Cerberus Helpdesk. Dieses System setzt mailparse ein, um ein- und ausgehende E-Mails zu parsen. Bis PHP-Version 5.2.x gab es die benötigte php_mailparse.dll für Windows-Systeme über den PHP-Entwickler Pierre Joye auf dieser Seite zum Download.
Vor geraumer Zeit wurden die Windows-Builds für diese Erweiterung eingestellt; eine lange geplante Buildbox der PECL-Erweiterungen für Windows-Systeme wurde bis heute nicht realisiert. Seit PHP-Version 5.3.x muss sich daher jeder Benutzer selbst um die Kompilierung der entsprechenden Erweiterung bemühen.
Leider schaffte auch bis heute der Hersteller des Ticket-Systems keine Abhilfe. Da die fehlende php_mailparse.dll ein Update der PHP-Version unmöglich machte, musste also eine Lösung gefunden werden.