O que é necessário para o PHP mcrypt_decrypt ()?
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
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!
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