Vor Monaten habe ich einen Kurzcode erstellt, der verwendet mb_strimwidth() um einen Text genau in eine Tabellenzelle einzufügen, indem Sie Punkte am Ende einer abgeschnittenen Zeichenfolge einfügen. Nun habe ich nach einiger Zeit versucht, denselben Code auszuführen, und es kam mit folgendem Fehler:
Fatal error: Call to undefined function mb_strimwidth() in ...
Ich habe versucht, die Datei mbstring.php zu finden, und als ich sie gefunden habe mb_strimwidth() Funktion habe ich festgestellt, dass sie nicht mehr implementiert ist. Wie ist das möglich? Aber meine Hauptfrage ist: Wie kann ich das gleiche Ergebnis erzielen wie mb_strimwidth()? Ich dachte daran, die Funktion mit einer Schleife umzuschreiben und mb_strwidth()aber ALLE Funktionen in dieser mbstring.php-Datei sind leer.
Du meinst das grüne Häkchen?
– Juri
10. Januar 2013 um 9:59
Ah ok. Es tut mir leid, das wusste ich nicht. Ich werde es jetzt tun
– Juri
10. Januar 2013 um 10:04
Alle mb_* Funktionen werden von einer PHP-Erweiterung namens Multibyte String, interner Name, bereitgestellt mbstring
Wahrscheinlich ist die Erweiterung nicht aktiv oder installiert. Auf den meisten Linux-Distributionen können Sie das Paket installieren php-mbstring um diese Erweiterung zu installieren und zu aktivieren.
Wenn Sie mod_php verwenden, muss Apache anschließend neu gestartet werden
ok, das hat mein Problem gelöst. Aber ich verstehe nicht, was seit dem letzten Mal passiert ist, als es richtig funktioniert hat …
– Juri
10. Januar 2013 um 10:13
Sie haben wahrscheinlich PHP aktualisiert, das ist distro-spezifisch. zB PHP-54-Pakete installiert und PHP-Pakete entfernt.
– Michel Feldheim
10. Januar 2013 um 11:34
Ich habe den PHP-MBstring auf meinem Rechner installiert und auch den Apache neu gestartet. Danach habe ich mein phpinfo() überprüft, konnte dort aber php-mbstring nicht finden. Ich habe immer noch das gleiche Problem. Irgendeine Hilfe?
– Sijan Bhattarai
5. Juni 2018 um 14:51
Vielen Dank – ab 2022
– Marko Bajlovic
22. August 2022 um 17:35 Uhr
Hyder B.
Ich habe gerade dieses Problem. Wenn Sie Linux verwenden, installieren Sie einfach das Paket php-mbstringund starten Sie Apache neu.
sudo apt-get install php-mbstring
sudo service apache2 restart
Wenn Sie eine bestimmte PHP-Version verwenden, müssen Sie möglicherweise Folgendes ausführen:
sudo apt-get install php7.x-mbstring
sudo service apache2 restart
Ersetzen 7.x durch die genaue PHP-Version.
Du musst es installieren php-mbstring Paket versuchen.
Überprüfen Sie die PHP-Version
php -v
Überprüfen Sie dann, ob mbstring bereits installiert und aktiviert ist
php -i | grep mbstring
Wenn nicht installiert, führen Sie diesen Befehl aus
sudo apt-get install php-mbstring
wenn du bist PHP andere Version Beispiel : 7.1, 7.2, 7.0 basierend auf einem Ausführungsbefehl wie diesem:
sudo apt-get install php7.1-mbstring
Wenn Sie einen Nginx-Server zum Ausführen von Laravel verwenden, überprüfen Sie in der Nginx-Konfigurationsdatei, welche Version Sie in die Conf-Datei geladen haben.
gehe zu cd /etc/nginx/sites-available und öffnen Sie Ihre Konfigurationsdatei. Wenn Sie die PHP7.2-Version in die Nginx-Conf-Datei laden.
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
Dann musst du es installieren 7.2 mbstring-Paket..
sudo apt-get install php7.2-mbstring
Und Neustart Apache2-Server
sudo service apache2 restart
Wenn Sie mbstring bereits installiert haben, müssen Sie diese Erweiterung in der Datei php.ini aufrufen.
Ermitteln Sie zunächst, wo sich Ihre php-fpm.ini-Datei oder php.ini befindet.
Führen Sie den Befehl aus
php -i | grep php.ini
Es gibt den Pfad der php.ini-Datei zurück.
Zum Beispiel
/etc/php.ini
Öffnen Sie dann die Datei mit VIM oder einem anderen Editor
vim /etc/php.ini
und fügen Sie dann die Erweiterung mbstring zur Datei php.ini hinzu
extension=mbstring.so;
Zum Schluss starten Sie PHP-FPM neu
systemctl restart php-fpm
14534500cookie-checkAufruf der undefinierten Funktion mb_strimwidthyes
Du meinst das grüne Häkchen?
– Juri
10. Januar 2013 um 9:59
Ah ok. Es tut mir leid, das wusste ich nicht. Ich werde es jetzt tun
– Juri
10. Januar 2013 um 10:04