Pergunta

Eu tenho um script que usa mcrypt_decrypt () função, mas eu recebo o seguinte erro

Erro fatal: Chamada para mcrypt_decrypt função indefinida ()

O que módulos / bibliotecas que eu preciso incluir para utilizar esta função? Ou existe outra razão que eu estou recebendo o erro?

Graças

Foi útil?

Solução

Por favor, veja:

Você precisa compilar seu PHP com --with-mcrypt[=DIR] e ter libmcrypt Versão 2.5.6 ou superior em sua máquina.

Outras dicas

sudo apt-get install php5-mcrypt

funciona no Ubuntu.

Configurar php5-mcrypt com php5-fpm (Ubuntu 14.04)

Eu estou indo supor que você já tem nginx e PHP-FPM instalado e em execução.

php5-mcrypt deve ser instalado (ele vem com php5-fpm). Apenas para a segurança, apt-get install php5-mcrypt

Criar link simbólico para mods-avaliável ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

habilitá-lo. php5enmod mcrypt

Restart php-fpm, php5-fpm serviço restart

Restart nginx, serviço nginx restart

Feito!

A partir da manual:

Você precisa compilar o PHP com o --with-mcrypt [= DIR] parâmetro para permitir que esta extensão. DIR é o Mcrypt diretório de instalação. Certificar-se de que você compilar libmcrypt com a opção --disable-POSIX threads.

Geralmente, se PHP diz uma função é indefinido, isso significa que você precisa para compilar em alguma biblioteca.

I acima não trabalho, você pode tentar o seguinte:

criar o arquivo mcrypt.ini em /etc/php5/conf.d com conteúdo

extension=mcrypt.so

I atualizado PHP para 5,4 via http://php-osx.liip.ch/ ele trabalhou.

para PHP 5.3.x

depende da disponibilidade do pacote de mcrypt yum, você poderia usar yum packeages

como este: yum install php53-mcrypt e reiniciar httpd

E ter cuidado com a pasta na página phpinfo: "Verificar este dir para arquivos ini adicionais" e no próximo:. "Arquivos ini adicionais analisado"

Após a atualização para o PHP 5.4 em execução (Works)

sudo php5enmod mcrypt
sudo service apache2 restart
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top