Установка IMAP для PHP 5
Windows
Раскомментируйте (уберите перед строкой точку с запятой) extension=php_imap.dll в php.ini, в переменные среды (Пуск → Настройка → Система → Закладка «Дополнительно» → Переменные среды → Блок «Системные переменные» → Переменная Path → Изменить) добавить в конец строки пути к директории PHP — c:\{PHP-5 dir}\ext;c:\{PHP-5 dir};, например, c:\php5\ext;c:\php5;.
Unix/Linux
Расширение IMAP требует установки библиотеки с-client. Прочитать информацию об установке c-client на английском языке можно на php.net.
Быстрая установка c-client для FedoraCore/CentOS:
Установка c-client
Переходим в /usr/local
Скачать последнюю версию c-client можно командой:
В зависимости от версии операционной системы требуется та или иная версия c-client. Например, для ОС FedoraCore 4 потребуется версия imap-2006b.tar.Z, загрузим ее:
Список предыдущих версий c-client можно получить по ftp://ftp.cac.washington.edu/imap/old/.
Распаковываем:
Переходим в директорию:
Для 64-битных ОС необходимо отредактировать Makefile и заменить в нем EXTRACFLAGS= на EXTRACFLAGS=-fPIC
Выполняем для FedoraCore или RedHat:
или выполняем для FreeBSD:
Для других ОС соответственно «make slx», «make lnp», «make lrh» или «make lsu».
Создаем директории:
# mkdir include
Переходим в директорию c-client/
Копируем файлы
# cp *.c /usr/local/imap-2006b/lib/
# cp c-client.a /usr/local/imap-2006b/lib/libc-client.a
Примечание: вместо imap-2006b указываете наименование директории в соответствии с выбранной версией c-client.
Установка пакета на примере PHP-5.2.17 для FedoraCore/CentOS
Сборка PHP 5
В Unix системе PHP 5 должен быть сконфигурирован с параметром --with-imap[=DIR]
где DIR — директория с установленным c-client.
Для сборки IMAP c поддержкой SSL необходимо добавить --with-imap-ssl
Перейдем в директорию /tmp
Загрузим последнюю версию PHP 5.2.13:
Распаковываем:
Перейдем в директорию php-5.2.13
Конфигурируем:
--with-apxs2 \
--with-config-file-path=/etc \
--with-xsl \
--with-mysql \
--enable-ftp \
--enable-dbase \
--with-gdbm=shared,/usr\
--with-ndbm \
--with-iconv \
--with-expat-dir \
--with-gd \
--enable-gd-native-ttf \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-ttf \
--with-zlib-dir \
--enable-memory-limit \
--disable-posix \
--enable-force-cgi-redirect \
--without-pear \
--enable-mbstring \
--disable-debug \
--with-imap=/usr/local/imap-2006b \
--with-imap-ssl
Собираем PHP:
Останавливаем Apache:
Устанавливаем PHP:
Если был собран eAccelerator, то пересобираем его.
Запускаем Apache:
Возможные ошибки при конфигурировании PHP
Если при сборке возникает «configure: error: build test failed. Please check the config.log for details.», то смотрим config.log, в конце может быть указана информация: error: 'U8T_CANONICAL' undeclared (first use in this function)
Решение: Используется старая версия imap-200Xx, для версий 5.2.x нужно собирать с imapd.2006XXX.TAR.GZ или старше. См. http://bugs.php.net/bug.php?id=40132
Если при сборке возникает «configure: error: build test failed. Please check the config.log for details.», то смотрим config.log, в конце может быть указана информация: configure:49274: gcc -o conftest -I/usr/include -g -O2 -L/usr/lib -Wl,-rpath,/usr/local/imap-2006b/lib -L/usr/local/imap-2006b/lib -Wl,-rpath,/usr/kerberos/
/usr/lib/libc-client.a (osdep.o) (.text + 0×7da4): In function `ssl_onceonlyinit':
Решение: Выполним копирование libc-client.a