Вопрос ошибки возврата phpenmod mcrypt и phpenmod mbstring


Я использую минимальную серверную среду ubuntu16.04.1, Apache2, MySQL и PHP 7.0.8.1. У меня installem AMP через: apt-get install lamp-server^,

Я также установил PHPmyadmin вручную через:

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 загружается, но, чтобы использовать его полностью функционально, AFAIK я также должен сделать:

phpenmod mcrypt
phpenmod mbstring

Тем не менее, они возвращают ошибки:

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

Раньше у меня таких ошибок не было. Являются ли эти модули избыточными для PHPmyadmin в текущих версиях или когда они не установлены через apt-get install?


2
2018-01-02 06:30


происхождения


пытаться sudo a2enmod mcrypt а также sudo a2enmod mbstring - George Udosen
Вы установили php-mcrypt а также php-mbstring, правильно? - muru
Проблема решена? - George Udosen
Кажется, я могу получить доступ к PMA, не устанавливая их, как вы показали в ответе, поэтому я задаюсь вопросом, есть ли проблема вообще (единственная причина, по которой я хотел установить это, - это то, что я думал, что они отсутствуют для PMA, но кажется, что в последних версиях мы просто им не нужны). - JohnDoea


ответы:


Сначала установите их:

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

Затем включите их с помощью:

sudo a2enmod mcrypt
sudo a2enmod mbstring

Обновить

Основываясь на обширных исследованиях, я считаю, что ошибка существует, что php cli хорошо работает с php mcrypt,

Источник:

Невозможно использовать расширение PHP Mcrypt в Ubuntu 13.10 (Nginx, PHP-FPM)

php не работает на ubuntu 13.10, а mcrypt отсутствует в phpmyadmin

Чтобы подтвердить это mcrypt является включен в apache выполните следующие действия:

  1. Создать php файл называется info.php вставьте этот код в него:

    <?php echo phpinfo(); ?>
    
  2. Поместите файл в /var/www/html или ваш корень сервера

  3. Получите доступ к нему из браузера IP/info.php или localhost/info.php

  4. Посмотрите, и вы обнаружите, что mcrypt and mbstring включены

    enter image description here

    Как вы можете видеть, он включен в apache, но недоступен из PHP CLI, следовательно, сообщения об ошибках.

  5. Чтобы подтвердить свою работу [поскольку у меня тоже есть эта проблема] Я сделал следующее:

    • установлен PrestaShop приложения, и поскольку один из требования предварительного php mcrypt он бы ошибся и отказался действовать, если mcrypt не был включен апаш,

Простой вариант, основанный на вашем, если ваш страница информации о Apache отображает эти модули как это было возможно. Произошедшая ошибка является результатом php CLI имеющих проблемы с Mcrypt который, как отмечалось, является ошибкой. В более ранних версиях PHP но теперь присутствуют в php 7


8
2018-01-02 06:38



приносит ERROR: Module mcrypt does not exist!, - JohnDoea
какая версия php ты используешь ? - George Udosen
Я использую версию 7.0.8. - JohnDoea
Тогда сделайте sudo apt install php7.0-mcrypt && sudo apt install php7.0-mbstring его как он не установлен. - George Udosen
Я был неправ. Ссылки создаются, но все же ERROR: Module mbstring does not exist!, ERROR: Module mcrypt does not exist!, - JohnDoea


Если их оба установлены и ошибка сохраняется, попробуйте сделать символическую ссылку на ini-файлы в mods-available 

Вот как это сделать:

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

2
2018-01-02 06:44