mbstring отсутствует для phpmyadmin в Ubuntu 16.04

20

Когда я установил phpmyadmin в Ubuntu 16.04 LTS, он выдает ошибку, указанную ниже.

Расширение mbstring отсутствует. Пожалуйста, проверьте вашу конфигурацию PHP

Затем я попытался установить php-mbstring, он говорит mbstring is up to date: Может кто-нибудь помочь мне решить эту проблему?

Скриншот

Мохамед Салим
источник
Если вы используете php-fpmтакже, не забудьте перезапустить это после установки mbstring>systemctl restart php-fpm
Alex Jolig

Ответы:

54

Пожалуйста, введите в терминале:

sudo apt-get install php-mbstring php7.0-mbstring php-gettext libapache2-mod-php7.0

Затем перезапустите apache2:

sudo systemctl restart apache2

До сих пор отсутствует?

Вам необходимо явно включить расширения PHP mcrypt и mbstring, что можно сделать, набрав:

sudo phpenmod mcrypt
sudo phpenmod mbstring

Затем перезапустите apache2:

sudo systemctl restart apache2

Выполнено.
Об этом сообщалось здесь: PHPMyAdmin требует mbstring

Бенни
источник
Я сделал это, но терминал говорит, что mbstring обновлен. что-нибудь еще сделать?
Мохамед Салим
Я сделал это, "sudo phpenmod mcrypt" sudo phpenmod mbstring и перезапустите apache2 sudo systemctl перезапустите apache2, но mbstring по-прежнему отсутствует
Мохамед Салим
любое другое решение?
Мохамед Салим
2

В моем случае я наконец-то узнал, что PHP-версия, используемая phpmyadmin - это php5.6 (я установил php7.0). Я нашел это, выполнив phpinfo()test.php, затем сделал это, чтобы заставить phpmyadmin работать:

  1. Используя менеджер пакетов synaptic, установите php5.6, php5.6-mysql, php5.6-mbstring и php5.6-mcrypt
  2. Убедитесь в том , что extension=mbstringи extension=php_mysqliна /etc/php/5.6/apache2/php.iniне прокомментировал
  3. Наконец, перезагрузите ваш Apache sudo systemctl restart apache2

Я все еще новичок в этом, но надеюсь, что это работает для вас.

Ибрагим Сапутра
источник
1
Для этого требуется PPA - PHP 5.x не существует в репозиториях Xenial.
Томас Уорд
У этого не было никаких голосов, но это работало для меня.
hytromo
Чтобы добавить комментарий @ ThomasWard, PPA - это личный архив пакетов, в данном случае тот, который содержит старые пакеты PHP 5.6. Команда, которую вы хотите sudo add-apt-repository ppa:ondrej/php до этого, sudo apt-get install php5.6-mbstringбудет работать на Ubuntu 18.4
meesern
2

Если вы хотите использовать php 5.6 вместо php 7

Установите пакет php 5.6 mbstring:

sudo apt-get install php5.6-mbstring

Затем добавьте следующую строку в конец вашего файла php.ini:

extension=php5.6-mbstring.so

Перезапустите Apache:

sudo service apache2 restart

Чтобы найти файл php.ini, создайте файл и вставьте следующую строку:

<?php phpinfo(); ?>

Затем откройте в браузере, чтобы увидеть, где находится ваш файл php.ini.

ChickenFeet
источник
Жаль, что я видел этот ответ раньше, ха-ха :)
ChickenFeet