Wenn man versucht PHP mit IMAP-Support zu kompilieren, dann stößt man oft auf folgendes Problem.
...utf8_mime2text() has new signature, but U8T_CANONICAL is missing....
Wohl die einfachste Variante das Problem sauber und schnell zu lösen ist einfach IMAP auf dem Server zu installieren. Hierbei kommt es allerdings häufig zu Problem, weshalb ich nun ein wenig näher auf die Installation eingehen möchte.
Um IMAP zu installieren, benötigen wir erstmal die Sources, welche hier zu finden sind. Danach entpacken und Kompilieren wir das Ganze mal.
wget ftp://ftp.cac.washington.edu/imap/imap.tar.Z
tar xfvz imap.tar.Z
cd imap-2007
make slx (hier nun beispielsweise mit slx)
Sollte das Kompilieren wegen fehlendem SSL nicht gehen, dann müsst ihr schauen, dass Openssl sowie entsprechende Libs (libssl) bereits auf dem System installiert sind. Sollten diese bereits vorhanden sein, dann kann es sein, dass Ihr den Pfad im Makefile noch anpassen müsst.
Dafür öffnet ihr das passende Makefile und sucht nach der Stelle "SSLDIR". Das Ganze könnte dann so aussehen (nach der Änderung):
SSLDIR=/usr/include/openssl
SSLCERTS=$(SSLDIR)/certs
SSLKEYS=$(SSLCERTS)
SSLINCLUDE=$(SSLDIR)
SSLLIB=/usr/lib
Wenn das Kompilieren abgeschlossen ist, muss man die Dateien noch an die richtigen Stellen im System kopieren. Ich habe hier nun "/usr/local/imap" verwendet.
# Ordner anlegen
mkdir /usr/local/imap-2007
mkdir /usr/local/imap-2007/include
mkdir /usr/local/imap-2007/lib
# Verzeichnis noch wechseln
cd c-client
# Dateien kopieren
cp *.h /usr/local/imap-2007/include
cp c-client.a /usr/local/imap-2007/lib/libc-client.a
Danach kann man die Configureanweisung von PHP 4 bzw. PHP 5 einfach um folgenden Eintrag erweitern und dann steht der späteren Verwendung von IMAP mittels PHP nichts mehr im Wege.
--with-imap=/usr/local/imap-2007
*Update*
Wer auch IMAP-SSL mittels PHP verwenden möchte sollte noch folgende Zeile beim Configure übergeben
--with-imap-ssl=/usr/include/openssl
Ein kleiner Tip noch für Leute die Debian 64bit verwenden.
Hier muss man IMAP mit dem Zusatzparamater -fPIC kompilieren. Dies kann bewerkstelligt werden, indem man den Paramter im Makefile den GCCFLAGS hinzufügt.