Eu fiz isso muitas vezes:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
O aptitude diz que o mcrypt está instalado. Já o reinstalei três vezes. Reiniciei o apache cerca de 20 vezes desde que o instalei. Quando olho para o phpInfo, não vejo o mcrypt listado. Quando tento executar meu código, ele diz que a função mcrypt (escolha uma - qualquer uma) não existe. mcrypt claramente não está ativado.
Alguém tem alguma idéia do que pode estar errado? Não sei quais peças devem estar onde e como tudo isso deve se encaixar.
Eu instalei o PHP 5.5.3
apt-get
/aptitude
) também? O pacotephp5-mcrypt
só pode configurar a extensão paraphp.ini
o que ele "conhece". Em segundo lugar, não o faço agora seapache2ctl
recarregar os módulos. A maneira "normal" de reiniciar o Apache seria algo parecidosudo service apache2 restart
. Terceiro, como o PHP está conectado ao seu Apache? Se você usar algo como (f) cgi ou php-fpm (em contraste com o mod-php), provavelmente precisará reiniciar o PHP por conta própria, além de reiniciar o Apache.php.ini
está listado na saída dephpinfo
(da 5ª à 7ª entrada)? Deve ser um arquivo em/etc/php5/
. Se você procurar nesse arquivomcrypt
, o que acontece?mcrypt
pacote. Esse é o programa de linha de comando que usa libmcrypt, assim como a extensão PHP. Então, você precisa garantir que o pacotelibmcrypt4
esteja instalado. Existe umphp.ini
trecho em/etc/php5/conf.d/mcrypt.ini
? Isso deve carregar a lib. Esse trecho é carregado pelo PHP (consultephpinfo
)? Mais uma vez, você tentou reiniciar o Apache emsudo service apache2 restart
vez deapache2ctl
?Respostas:
Tente isto
fonte
Eu tive um problema semelhante no Ubuntu 13.10. Ao executar a instalação do compositor, ele produziu o mesmo erro, terminando em.
Eu instalei
mcrypt
ephp5-mcrypt
com o aptitude, e aindaphp -m
não apareceumcrypt
como uma extensão carregada:Eu corri um
updatedb
e depoislocate mcrypt
. Eu encontrei o meumcrypt.ini
no/etc/php5/conf.d
. No entanto, todas as outras extensões (como json) tinham seus arquivos .ini em/etc/php5/apache2/conf.d
e/etc/php5/cli/conf.d
. Esses dois eram links para../../mods.available
.Então, mudei
mcrypt.ini
para/etc/php5/available-modules
e defina os links:E da mesma forma para
/etc/php5/apache2/conf.d
.E pronto, ele apareceu
php -m
!fonte
Parece que o snippet ini que carrega libmcrypt quando o PHP é chamado pelo Apache está ausente. Deve haver um arquivo chamado
/etc/php5/apache2/conf.d/mcrypt.ini
com o seguinte conteúdoVocê deve poder copiá-lo das outras configurações da integração do PHP, como
/etc/php5/cli/conf.d/mcrypt.ini
ou/etc/php5/conf.d/mcrypt.ini
, dependendo do que estiver instalado no seu sistema.fonte
O módulo mcrypt não está ativado por padrão. Ative o módulo mcrypt e, em seguida, reinicie o apache ( crédito )
fonte
Bem, é isso. Parece que, às vezes, estamos em busca da maneira mais confusa de fazer algo tão simples como 'enmod'; ) Como Boinst diz:
sudo php5enmod mcrypt
. Em seguida, recarregue o apache.fonte