Как установить расширение PHP `mbstring` в Ubuntu?

99

Что такое mbstringрасширение PHP и как его лучше установить на Ubuntu 14.04?

Рохит Бинд
источник

Ответы:

170

РЕДАКТИРОВАТЬ: Дилан Пирс подтвердил, что вы уже можете установить некоторые расширения PHP 7.2 так же, как для PHP 5. В mbstringчастности, вы можете выполнить:

sudo apt-get install php7.2-mbstring

В дополнение к ответу sparkmood , теперь это работает для PHP 7.2, если вы уже импортировали для него PPA-файл ondrej.

sudo apt-get install libapache2-mod-php7.2

Не забывайте, что либо PHP 7 доступен через официальные репозитории Ubuntu, либо вам понадобится внешний PPA.

goncalotomas
источник
После установки этого пакета, где находится расширение mbstring? Я не могу найти это /etc/php/7.0/mods-availableкак другие. Я пытался раскомментировать расширение, php.iniно он не знает путь к расширению.
Дилан Пирс
17
Я понял это: sudo apt-get install php7.0-mbstring также работает для других расширений php, которые могут вам понадобиться: sudo apt-get install php7.0-zip sudo apt-get install php7.0-dom мне действительно нравится, как бездумно устанавливать / активировать эти модули. Хотел бы я, чтобы мне не пришлось искать их в интернете.
Дилан Пирс
2
Почему никто не борется с этой версией названия? -_-
erikbwork
2
Я считаю, что как только версия 7 охватывает все старые 5 библиотек, вам не придется писать 7, чтобы получить самую последнюю и самую лучшую версию. В противном случае это может привести к нарушению сценариев сборки или к непредвиденному поведению.
гонкалотомы
2
Вы можете просто использовать пакет php-mbstringбез номера версии
pd12
27

mbstring встроен в пакет libapache2-mod-php5, поэтому вы можете использовать эту команду для установки:

sudo apt-get install libapache2-mod-php5

Как описано в деталях пакета :

 dba dom ereg exif fileinfo filter ftp gettext hash iconv json libxml
 mbstring mhash openssl pcre Phar posix Reflection session shmop SimpleXML
 soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml
 xmlreader xmlwriter zip zlib.
sparkmood
источник
Я уже установил apache2 на моем сервере сейчас, если я установлю "libapache2-mod-php5" на моем сервере, это будет проблемой.
Рохит Бинд
Когда я запускаю вашу линию, она ломает мою ЛАМПУ - мне приходится переустанавливать :(
SIDU
21
sudo apt-get install php-mbstring

Я установил mbstring в php7.0-fpm (7.0.15-0ubuntu0.16.04.4)

Наньхэ Кумар
источник
1
Это правильно для Debian Stretch. Не нужно добавлять номер версии. Внутри загружается подпакет с номером версии.
Jpsy
Я добавил версию, потому что я тестировал на вышеуказанной версии. спасибо за ваш комментарий
Нане Кумар
Это намного лучше, чем указание версии на клиенте, поскольку она адаптируется к установленной версии.
Феликс Ганьон-Гренье
7

В моем случае это было уже установлено, но мне просто нужно было сделать phpenmod mbstring, а затем apachectl graceful.

Ave
источник
7

Если вы используете php 5.6

Установите пакет 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
источник
0

Это требует добавления другого источника для apt для установки в 18.04.

Страница загрузки для php7.2-mbstring_7.2.7-0ubuntu0.18.04.2_amd64.deb на машинах AMD64

Если вы используете Ubuntu, для загрузки и установки пакетов настоятельно рекомендуется использовать менеджер пакетов, такой как aptitude или synaptic, вместо того, чтобы делать это вручную через этот веб-сайт.

Вы должны иметь возможность использовать любое из перечисленных зеркал, добавив строку в ваш /etc/apt/sources.list следующим образом:

deb http://security.ubuntu.com/ubuntu bionic-security главная вселенная

Нил
источник