Uruchamianie: nie można załadować biblioteki dynamicznej /usr/lib/php/20151012/php_mbstring.dll

12

Kiedy uruchamiam polecenie

php -v

ten błąd pojawia się w terminalu Ubuntu:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mbstring.dll' - /usr/lib/php/20151012/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
mikser
źródło

Odpowiedzi:

28

Twoja konfiguracja jest nieprawidłowa. Ty (lub niektóre zainstalowane oprogramowanie) włączyłeś coś takiego:

rozszerzenie = php_mbstring.dll

w pliku konfiguracyjnym PHP i jest to błędne, ponieważ php_mbstring.dlljest to rozszerzenie skompilowane dla systemu operacyjnego Windows.

Poprawnym sposobem jest zainstalowanie php-mbstringpakietu i mbstringautomatyczne włączenie rozszerzenia:

sudo apt-get install php-mbstring

Następnie możesz wyłączyć / włączyć rozszerzenie za pomocą poleceń phpenmod/ phpdismod:

sudo phpdismod mbstring # disable mbstring extension
sudo phpenmod mbstring # enable mbstring extension again
oerdnj
źródło
działa dla mnie, używając Ubuntu 16.04
Mohammed Sufian
działa dla mnie, używając Ubuntu 18.04
Junaid Atique
4

Używam Ubuntu 16.04 z PHP5.X - PHP7

kiedy zainstalowałem php7, zacząłem dostawać ten błąd /usr/lib/php/sessionclean

aby to naprawić, musiałem skomentować w /etc/php/7.0/apache2/php.iniobraźliwej linii rozszerzeń, którymi domyślnie były .dll

extension=mbstring.dll

do

;extension=php_mbstring.dll
theres.yer.problem
źródło
Wydaje się to prawdopodobne, ponieważ w PHP 5 włączono mbstring, a nie podczas instalacji PHP 7, ale zachowałeś ten sam plik php.ini.
Jahmic
1

Miałem takie samo ostrzeżenie jak powyżej. Rozwiązanie polegało na komentowaniu wpisów w następujący sposób /etc/php/7.0/cli/php.ini: wcześniej dodałem (bez komentarza), ale nie były one tutaj wymagane.

;extension=msql.dll
;extension=msql.so
;extension=php_bz2.dll
;extension=php_curl.dll
axxaroots
źródło