В CentOS у меня есть скомпилированная версия PHP, но в ней отсутствует модуль IMAP. Можно ли добавить этот модуль без перекомпиляции php?
решение1
Да, вы можете просто загрузить исходный код вашей текущей версии, распаковать его, перейти в каталог ext/imap распакованного исходного файла и выполнить:
phpize
./configure
make
Возможно, вам придется запустить ./configure с некоторыми параметрами, указывающими используемые библиотеки imap, например:
--with-imap=DIR Include IMAP support. DIR is the c-client install prefix
...
--with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix
После компиляции модуля вы должны поместить его в ext/imap/modules, он должен называться imap.so, например ext/imap/modules/imap.so. Вам нужно переместить его дальше в каталог extension_dir, который вы можете получить, запустив php -i | grep extension_dir
или создав php-файл, который скажет <?php phpinfo(); ?>
и запустите его из веб-интерфейса, после чего найдите extension_dir на странице результатов.
После перемещения файла модуля вам необходимо добавить строку в файл php.ini (или создать файл .ini в дополнительном каталоге файлов .ini), которая будет выглядеть следующим образом:
extension=imap.so
После этого вам потребуется перезапустить ваш веб-сервер или службу php-fpm, если вы используете php-fpm.