Necesități

Această extensie necesită instalarea bibliotecii c-client. Obțineți ultima versiune de la » ftp://ftp.cac.washington.edu/imap/ și compilați-o.

Este important să nu copiați fișierele-sursă IMAP direct în directorul de includeri de sistem, deoarece pot apărea conflicte. În loc, creați un nou director în interiorul directorului de includeri de sistem, cum ar fi de exemplu /usr/local/imap-2000b/ (amplasarea și denumirea depind de setările dumneavoastră și de versiunea IMAP), și în interiorul acestui nou director creați directoare suplimentare denumite lib/ și include/. Din directorul c-client din arborele cu sursele IMAP copiați toate fișierele *.h în include/ și toate fișierele *.c în lib/. Suplimentar, când ați compilat IMAP, a fost creat un fișier cu denumirea c-client.a. De asemenea puneți-l în directorul lib/, dar redenumiți-l în libc-client.a.

Notă:

Pentru a asambla biblioteca c-client cu susținerea SSL și/sau Kerberos citiți documentația furnizată cu pachetul.

Notă: În Mandrake Linux, biblioteca IMAP (libc-client.a) este compilată fără susținerea Kerberos. O versiune separată cu SSL (client-PHP4.a) este instalată. Biblioteca trebuie să fie recompilată pentru a adăuga susținerea Kerberos.

add a note add a note

User Contributed Notes 6 notes

up
3
crabb1d at gmail dot com
7 months ago
For those using Ubuntu and who are completely daunted by compiling this, it's easy under Ubuntu:

Install libc-client-dev
# sudo apt-get install libc-client-dev

Install PHP5 imap:
# sudo apt-get install php5-imap

Restart Apache
# sudo service apache2 reload

Should work for most people.
up
1
Anonymous
2 years ago
When compiling IMAP on a 64 bit machine, use: make EXTRACFLAGS=-fPIC.
up
1
eelco at care dot nl
4 years ago
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.
up
0
Anonymous
8 months ago
When compiling IMAP 2007f with php 5.3.27 on a 64 bit OL5.7 machine, add in the Makefile: EXTRACFLAGS=-fPIC and EXTRAAUTHENTICATORS=gss
up
0
ldi at email dot cz
3 years ago
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
up
0
Nick
3 years ago
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
To Top