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 я aslo должен сделать:

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
задан 4 January 2017 в 14:32

3 ответа

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

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 не работает хорошо над человечностью 13.10, и mcrypt отсутствует в phpmyadmin

Подтвердить это mcrypt включен в апаче, выполняют эти шаги:

  1. Создайте a php файл называют info.php поместите этот код в него:

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

  3. Получите доступ это от brower в говорит IP/info.php или localhost/info.php

  4. Посмотрите на, и Вы найдете это mcrypt and mbstring включены

    enter image description here

    Как Вы видите, его включенный в апаче, но недоступный от php CLI следовательно сообщения об ошибках.

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

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

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

11
ответ дан 2 December 2019 в 01:25

Если их и установленный и ошибка сохраняются, Попытка сделать символьную ссылку на 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
ответ дан 2 December 2019 в 01:25

Я имел проблемы с вышеупомянутыми решениями, но нашел это:

https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/

По существу создайте его сами:

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

После того как зависимости были установлены, можно установить mcrypt с командой:

sudo pecl install mcrypt-1.0.1

Оттуда я должен был добавить:

 /etc/php/7.2/mods-available/mcrypt.ini

Который был похож на это:

; configuration for php mcrypt module
; priority=20
extension=mcrypt.so

Затем

sudo phpenmod mcrypt
sudo systemctl restart apache2.service
3
ответ дан 2 December 2019 в 01:25

Другие вопросы по тегам:

Похожие вопросы: