Too Cool for Internet Explorer

PHP5 mit IMAP unter Mac OS X


Als kleine Merkhilfe für mich zum o.g. Thema. Kürzlich wollte ich meiner lokalen PHP Installation unter Mac OS X 10.4.11 IMAP support hinzufügen. Meine Konfiguration dafür sah folgendermassen aus:

'./configure' '--prefix=/opt/php5' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-curl' '--without-gdbm' '--with-gettext=/opt' '--with-iconv' '--with-openssl' '--with-regex=system' '--with-xml' '--with-zlib' '--enable-exif' '--enable-sockets' '--enable-track-vars' '--enable-trans-sid' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--enable-memory-limit' '--enable-fastcgi' '--enable-memcache' '--enable-zip' '--enable-http' '--without-pdo-sqlite' '--without-sqlite' '--enable-mbstring' '--with-imap'

... und resultierte in folgender Fehlermeldung:

...
checking for IMAP support... yes
checking for IMAP Kerberos support... no
checking for IMAP SSL support... no
checking for utf8_mime2text signature... new
checking for U8T_CANONICAL... no
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

Ein Blick in die config.log zeigt, dass das Include-File c-client.h nicht gefunden wird, und in der tat scheint c-client unter OSX nicht vorhanden zu sein:

conftest.c:240:22: error: c-client.h: No such file or directory

C-client ist Bestandteil des IMAP Paketes der University of Washington. Das komplette IMAP Paket kann über deren FTP Server gezogen werden: ftp://ftp.cac.washington.edu/imap/. Dort habe ich mir das Paket imap-2006k.tar.Z heruntergeladen. Nach dem Entpacken des Paketes wird dieses zunächst per:

$ make oxp

für Mac OS X gebaut. Das IMAP Paket enthält eine komplette IMAP Umgebung und die Installation dafür wäre deshalb auch dementsprechend umfangreich. Für PHP wird jedoch lediglich c-client benötigt, deshalb wird auch nur dieses "installiert", z.b.:

$ mkdir -p /usr/local/imap-2006k/include /usr/local/imap-2006k/lib
$ cp c-client/*.h /usr/local/imap-2006k/include
$ cp c-client/*.c /usr/local/imap-2006k/lib
$ cp c-client/c-client.a /usr/local/imap-2006k/lib/libc-client.a

Anschliessend kann man PHP mit folgenden Parametern neu configurieren und bauen:

'./configure' '--prefix=/opt/php5' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-curl' '--without-gdbm' '--with-gettext=/opt' '--with-iconv' '--with-openssl' '--with-regex=system' '--with-xml' '--with-zlib' '--enable-exif' '--enable-sockets' '--enable-track-vars' '--enable-trans-sid' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--enable-memory-limit' '--enable-fastcgi' '--enable-memcache' '--enable-zip' '--enable-http' '--without-pdo-sqlite' '--without-sqlite' '--enable-mbstring' '--with-imap=/usr/local/imap-2006k' '--with-kerberos'