phpenmod mcrypt e phpenmod mbstring retornam erros

2

Eu uso um ambiente de servidor mínimo do ubuntu16.04.1, Apache2, MySQL e PHP 7.0.8.1. Eu instalei o AMP via: apt-get install lamp-server^ .

Eu também instalei o PHPmyadmin manualmente via:

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip
find ./ -type f -name '*phpMyAdmin*.zip' -exec unzip {} \; # We can also do unzip \*phpMyAdmin*.zip ...
find ./ -type d -name 'phpMyAdmin-*' -exec mv {} phpmyadmin \;

PHPmyadmin é bootstrapped mas para usá-lo totalmente funcionalmente, o AFAIK também precisa fazer:

phpenmod mcrypt
phpenmod mbstring

No entanto, estes retornam erros, respectivamente:

Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available

Module mbstring ini file doesn't exist under /etc/php/7.0/mods-available

Eu nunca tive esses erros antes. Esses módulos são redundantes para o PHPmyadmin nas versões atuais ou quando não instalados via apt-get install ?

    
por JohnDoea 02.01.2017 / 07:30

2 respostas

8

Instale-os primeiro:

sudo apt install php7.0-mcrypt && sudo apt install php7.0-mbstring

Depois, habilite-os com:

sudo a2enmod mcrypt
sudo a2enmod mbstring

Atualizar

Com base na extensa pesquisa, acredito que existe um bug que impede que seu php cli funcione bem com php mcrypt .

Fonte:

Não é possível usar o PHP extensão Mcrypt no Ubuntu 13.10 (Nginx, PHP-FPM)

php não está funcionando bem no Ubuntu 13.10 e o mcrypt está faltando no phpmyadmin

Para confirmar que mcrypt está ativado no apache, siga estas etapas:

  1. Crie um arquivo php chamado info.php insira este código:

    <?php echo phpinfo(); ?>
    
  2. Coloque o arquivo em /var/www/html ou sua raiz do servidor

  3. Acesse a partir do navegador, digamos IP/info.php ou localhost/info.php

  4. Veja a saída e você verá que mcrypt and mbstring está ativado

    Como você pode ver, está habilitado no apache, mas inacessível do php CLI, portanto, as mensagens de erro.

  5. Para confirmar o seu funcionamento [como também tenho este problema] , fiz o seguinte:

    • aplicativo prestashop instalado, e como um dos requisitos do prestashop é php mcrypt ele teria lançado um erro e se recusaria a prosseguir se mcrypt não foi ativado no apache .

A colocação simples é baseada na sua página de informações do apache exibe esses módulos como está habilitado. O erro visto é resultado do php CLI ter problemas com mcrypt que foi notado como sendo um bug. Visto em versões anteriores do php mas agora presentes em php 7

    
por George Udosen 02.01.2017 / 07:38
2

Se os dois instalados e o erro persistirem, tente criar um link simbólico para arquivos ini em mods-available

Veja como fazer isso:

sudo ln -s /etc/php7/conf.d/mcrypt.ini /etc/php/7.0/mods-available/mcrypt.ini

sudo ln -s /etc/php7/conf.d/mbstring.ini /etc/php/7.0/mods-available/mbstring.ini
    
por Arduino_Sentinel 02.01.2017 / 07:44