Требования
Это расширение требует установленной библиотеки c-client. Возьмите последнюю версию с » ftp://ftp.cac.washington.edu/imap/ и скомпилируйте её.
Важно, чтобы вы не копировали исходные файлы IMAP непосредственно в системные include директории, это может вызвать конфликт. Вместо этого создайте новую директорию внутри системной include директории, например /usr/local/imap-2000b/ (месторасположение и имя зависит от вашей установленной версии IMAP), и внутри них создайте новые директории с именами lib/ и include/. Для c-client директории из вашей исходной директории IMAP скопируйте все *.h файлы в include/ и все *.c файлы в lib/. После того, как вы скомпилируете IMAP, будет создан файл с именем c-client.a. Затем переименуйте этот файл в libc-client.a и скопируйте его в lib/.
Замечание:
Для сборки библиотеки c-client с поддержкой SSL и/или Kerberos прочитайте документацию, поставляемую с пакетом.
Замечание: В Mandrake Linux, библиотека IMAP (libc-client.a) компилируется без поддержки Kerberos. Версия с поддержкой SSL (client-PHP4.a) устанавливается отдельно. Чтобы добавить поддержку Kerberos, перекомпилируйте библиотеку.
Коментарии
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.
It should be noted that the source code archives at the University of Washington, and the mirrors, have been dead for some time.
There is a github repository located here: https://github.com/uw-imap/imap
php-imap package is not available neither in Red Hat Enterprise Linux 7 nor 8.
To compile the extension yourself:
Prerequisites
# yum install pam-devel openssl-devel
Follow steps 2 and 3 from the previous post of "ldi at email dot cz"
Download the c-client library from github, you can see the link at the top of the page and compile with:
# make lr5 SSLINCLUDE=/usr/include/openssl/ EXTRACFLAGS=-fPIC
(if you are using another distro, instead of lr5 you will type something else, you can view the Makefile for other unix flavors)
Follow step 5 from the previous post of "ldi at email dot cz" which is what the second paragraph at the top of the page explains.
Download the PHP source code of the version installed in your system and go to the php/ext/imap folder.
# phpize
(If you installed the PHP packages from the Red Hat Software Collections you must run the following command before to set the enviroment eg: scl enable rh-php73 bash)
# ./configure --with-imap=<<path_to_where_you_unpacked_the_c-client_library_and_compiled_it>> --with-imap-ssl
# make
This creates the file php/ext/imap/modules/imap.so :)
Copy it to your extension_dir (you can find it in the phpinfo() page).
Create an .ini file in the php.d folder with the text: extension=imap.so
Restart apache and be happy.
P.S. You could probably find the extension compiled out there but who knows the trustiness of the source so better to get the official unaltered sources.
The Alpine email client which was also originally developed by Mark Crispin at UW also uses the "c-client" library and that it is still actively developed by Eduardo Chappa: https://alpineapp.email/alpine/release/ . It has its own updated copy of the "c-client" library which supports new features like OAuth2 authentication, etc.
The development of the UW IMAP and Alpine "c-client" libraries can be compared via https://github.com/uw-imap/imap/commits/master/src/c-client and https://repo.or.cz/alpine.git/history/HEAD:/imap/src/c-client
If this PHP extension does not work with Alpine "c-client", it might behoove someone to port the PHP so it does.