Назад | Перейти на главную страницу

Добавить модуль в собственный скомпилированный PHP

В CentOS у меня есть скомпилированная версия PHP, но в ней отсутствует модуль IMAP. Можно ли добавить этот модуль без повторной компиляции php?

Да, вы можете просто загрузить исходный код своей текущей версии, распаковать его, перейти в каталог 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.