PHP Doku:: Anforderungen - imap.requirements.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzE-Mail-relevante ErweiterungenIMAP, POP3 and NNTPInstallation/KonfigurationAnforderungen

Ein Service von Reinhard Neidl - Webprogrammierung.

Installation/Konfiguration

<<Installation/Konfiguration

Installation>>

Anforderungen

Diese Extension benötigt die c-client Bibliothek, die jeweils aktuelle Version des Quellcodes dieser Bibliothek findet sich unter » ftp://ftp.cac.washington.edu/imap/.

Wenn Sie die Bibliothek selbst kompilieren ist es wichtig das Sie die Headerdateien nicht direkt im Standard-Includeverzeichnis ablegen da dies zu Namenskonflikten führen kann. Stattdessen sollten sie ein neues Unterverzeichnis, z.B. /usr/local/imap-2000b/, mit zwei weiteren Unterverzeichnissen lib und include anlegen. Kopieren sie alle *.h aus den c-client Quellcodeverzeichnis in das neue include Verzeichnis und alle *.c Dateien in das neue lib Verzeichnis. Die bei der Kompilation des Bibliotheksquellcodes erzeugte Datei c-client.a kopieren als libc-client.a ebenfalls in das neue lib Verzeichnis.

Hinweis:

Nähere Informationen zur Aktivierung der SSL und Kerberos Unterstützung der Bibliothek finden Sie in der im Sourcepaket enthaltenen Dokumentation.

Hinweis: Mandrake Linux liefert die IMAP Bibliothek libc-client.a) ohne Kerberos-Unterstützung aus. Eine seperate Version mit SSL-Unterstützung wird als client-PHP4.a mitgeliefert. Für Kerberos-Unterstützung müssen Sie die Bibliothek selbst kompilieren.


6 BenutzerBeiträge:
- Beiträge aktualisieren...
ldi at email dot cz
4.08.2010 19:09
After few hours of testing it on CentOS 5 64 bit I'd like to share the steps required to compile imap with php:

1. Install openssl:

   yum install openssl openssl-devel

2. If you don't have openssl compiled and installed in /usr/local/ssl create symlink:

   ln -s /usr/lib64/openssl/engines/ /usr/local/ssl

3. Add the libraries:

   ln -s /usr/include/ /usr/local/ssl/include

4. Compile IMAP

  cd /path/to/imap_src
  make lnp SSLTYPE=unix

5. Copy files as described above
 mkdir lib
 mkdir include
 cp c-client/*.c lib/
 cp c-client/*.h include/
 cp c-client/c-client.a lib/libc-client.a
 
6. Compile PHP
  cd /path/to/php/src
  ./configure --with-imap=/path/to/imap_src --with-libdir=lib64
Nick
2.07.2010 19:06
If you run into an error similar to the following when compiling / making PHP:

errno 0x21c /usr/local/imap-2007e/lib/libc-client.a(netmsg.o)
ld: fatal: relocations remain against allocatable but non-writable sections
make: Fatal error: Command failed for target `libphp5.la'

You need to recompile the IMAP library and add -fpic or -fPIC to your CFLAGS.

See:
http://bugs.php.net/bug.php?id=35465

Also, if you compiled OpenSSL from source, you'll need to do the same, as you'll get error messages for libc-client.a
sergio at 24x7 dot cl
23.06.2010 6:04
over Debian GNU/Linux 5.0 x86_64 we just need the following:
# apt-get install libc-client-dev

and enable kerberos support:
# ./configure ... --with-kerberos=/usr
...

after this the php configure was succesfully.
Yonas
4.04.2010 2:07
Recent version of PHP (at least 5.3.2) requires libc-client >= 2006.

Otherwise, you'll get an error similar to:

error: 'U8T_CANONICAL' undeclared (first use in this function)

http://bugs.php.net/40132
eelco at care dot nl
17.03.2010 11:12
Spent hours and hours on compiling PHP with IMAP support on CentOS 64-bit but after many trial and error sessions I got if fixed.

If you have set the '--with-libdir=lib64' flag and you encounter the the 'cannot find the c-client library' error while compiling, try to create a symlink 'lib64' to 'lib' in your imap installation dir.

Apparantly, PHP will search only in lib64 directories if the flag is set. This also applies on the IMAP library but documentation lacks on this point.
mfuhrman at enetarch dot net
24.08.2009 20:55
Can the IMAP functions be compiled for NT, win2k as well?



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)