Установка 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:

# yum install libc-client.i386
или
# yum install libc-client.x86_64

Установка c-client

Переходим в /usr/local

# cd /usr/local

Скачать последнюю версию c-client можно командой:

# wget ftp://ftp.cac.washington.edu/imap/c-client.tar.Z

В зависимости от версии операционной системы требуется та или иная версия c-client. Например, для ОС FedoraCore 4 потребуется версия imap-2006b.tar.Z, загрузим ее:

# wget ftp://ftp.cac.washington.edu/imap/old/imap-2006b.tar.Z

Список предыдущих версий c-client можно получить по ftp://ftp.cac.washington.edu/imap/old/.

Распаковываем:

# tar -zxvf imap-2006b.tar.Z

Переходим в директорию:

# cd imap-2006b

Для 64-битных ОС необходимо отредактировать Makefile и заменить в нем EXTRACFLAGS= на EXTRACFLAGS=-fPIC

Выполняем для FedoraCore или RedHat:

# make lrh

или выполняем для FreeBSD:

# make bsf

Для других ОС соответственно «make slx», «make lnp», «make lrh» или «make lsu».

Создаем директории:

# mkdir lib
# mkdir include

Переходим в директорию c-client/

cd c-client/

Копируем файлы

# cp *.h /usr/local/imap-2006b/include/
# 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

rpm -ivh http://www6.atomicorp.com/channels/atomic/centos/5/x86_64/RPMS/php-imap-5.2.17-1.el5.art.x86_64.rpm

Сборка PHP 5

В Unix системе PHP 5 должен быть сконфигурирован с параметром --with-imap[=DIR]
где DIR — директория с установленным c-client.

Для сборки IMAP c поддержкой SSL необходимо добавить --with-imap-ssl

Перейдем в директорию /tmp

# cd /tmp

Загрузим последнюю версию PHP 5.2.13:

# wget http://ru2.php.net/get/php-5.2.13.tar.gz/from/this/mirror

Распаковываем:

# tar -zxvf php-5.2.13.tar.gz

Перейдем в директорию php-5.2.13

# cd php-5.2.13

Конфигурируем:

# ./configure \
--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:

# make

Останавливаем Apache:

# service httpd stop

Устанавливаем PHP:

# make install

Если был собран eAccelerator, то пересобираем его.

Запускаем Apache:

# service httpd start

Возможные ошибки при конфигурировании 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

# cp /usr/local/imap-2006b/lib/libc-client.a /usr/lib/libc-client.a

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.