Não é possível obter o mcrypt para PHP5

28

Já fiz isso muitas vezes:

sudo aptitude install php5-mcrypt

sudo apache2ctl restart

aptitude diz que o mcrypt está instalado. Eu reinstalei 3 vezes já. Eu 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. O mcrypt claramente não está ativado.

Alguém tem alguma idéia do que poderia estar errado? Eu não sei quais peças devem ser onde e como tudo isso deve se encaixar.

Eu instalei o PHP 5.5.3

    
por webDeveloperDave 28.09.2013 / 00:47

5 respostas

61

Tente isso

sudo php5enmod mcrypt

sudo service apache2 restart
    
por user229183 27.12.2013 / 12:24
11

Eu tive um problema semelhante no Ubuntu 13.10. Ao executar o instalador, ele produziu o mesmo erro, terminando em.

****Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error

  [RuntimeException]  
  Error Output:****   

Eu instalei mcrypt e php5-mcrypt com o aptitude, e ainda php -m não mostrou mcrypt como uma extensão carregada:

aptitude install mcrypt
aptitude install php5-mcrypt

Eu executei um updatedb e, em seguida, locate mcrypt . Eu encontrei meu mcrypt.ini em /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 . Ambos foram links para ../../mods.available .

Então, movi mcrypt.ini para /etc/php5/available-modules e configurei os links:

cd /etc/php5/cli/conf.d
ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini

E, da mesma forma, para /etc/php5/apache2/conf.d .

E voila, apareceu em php -m !

    
por user239289 24.01.2014 / 09:29
2

Parece que o fragmento ini que carrega o libmcrypt quando o PHP é chamado pelo Apache está faltando. Deve haver um arquivo chamado /etc/php5/apache2/conf.d/mcrypt.ini com o seguinte conteúdo

; configuration for php MCrypt module
extension=mcrypt.so

Você deve ser capaz de copiá-lo de outras configurações da integração PHP como /etc/php5/cli/conf.d/mcrypt.ini ou /etc/php5/conf.d/mcrypt.ini , dependendo do que estiver instalado em seu sistema.

    
por Henning Kockerbeck 01.10.2013 / 00:45
2

O módulo mcrypt não está habilitado por padrão. Ative o módulo mcrypt e reinicie o apache ( crédito )

sudo php5enmod mcrypt
sudo service apache2 restart
    
por Boinst 28.04.2014 / 07:26
1

Bem, é isso. Parece que às vezes estamos em busca da maneira mais emaranhada de fazer algo tão simples quanto "enmod"; ) Como Boinst diz: %código%. Em seguida, recarregue o apache.

    
por Maximo 06.09.2014 / 10:30