Adicionar módulo ao PHP compilado personalizado

Adicionar módulo ao PHP compilado personalizado

No CentOS eu tenho uma versão compilada do PHP, mas falta o módulo IMAP. É possível adicionar esse módulo sem recompilar o php?

Responder1

Sim, você pode simplesmente baixar a fonte da sua versão atual, descompactá-la, acessar o diretório ext/imap da fonte descompactada e executar:

phpize
./configure
make

Pode ser necessário executar ./configure com algumas opções especificando as bibliotecas imap usadas como:

  --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

Depois de compilar o módulo, você deve localizá-lo em ext/imap/modules, ele deve ser nomeado imap.so como ext/imap/modules/imap.so. Você precisa mover isso ainda mais para o diretório extension_dir que pode ser obtido executando php -i | grep extension_dirou criando um arquivo php que irá dizer <?php phpinfo(); ?>e executá-lo a partir da interface da web e, em seguida, pesquisar por extension_dir na página de resultados.

Depois de mover o arquivo do módulo, você precisará adicionar uma linha no arquivo php.ini (ou criar um arquivo .ini no diretório adicional de arquivos .ini) que dirá:

extension=imap.so

Depois disso, você precisará reiniciar seu servidor web ou serviço php-fpm caso esteja usando php-fpm.

informação relacionada