it-swarm.com.de

Aufruf der undefinierten Funktion Symfony\Polyfill\Mbstring\iconv_strlen ()

Mein Projekt funktioniert gut mit localhost, aber nicht online. Dies ist der Fehler:

Fatal error: Call to undefined function Symfony\Polyfill\Mbstring\iconv_strlen() in /home/stram/public_html/vendor/symfony/polyfill-mbstring/Mbstring.php on line 338

Ich habe gegoogelt und festgestellt, dass ich die Erweiterung PHP iconv installieren muss. Das Problem, dass ich ein VPS verwende und als ich zur Liste der verfügbaren PHP -Erweiterungen ging, habe ich diese Erweiterung nicht gefunden!

 enter image description here
 enter image description here
 enter image description here

Thnx im Voraus.

7
SlimenTN

Symfony bietet für diese Fälle eine iconv-polyfill an. Fügen Sie es einfach als Anforderung zu Ihrem Projekt hinzu, und Sie sollten in Ordnung sein:

composer require symfony/polyfill-iconv
17

Es kann auch vorkommen, dass Sie eine veraltete Version von PHP verwenden, oder , die ohne iconv kompiliert wurde.

Um dies zu überprüfen, führen Sie php --ri iconv mit einer beliebigen SSH-Software wie PuTTY usw. aus.

Wenn es zeigt, dassExtension 'iconv' nicht vorhanden ist., Dein Problem ist in PHP. Dann haben Sie einige Möglichkeiten:

  • Führen Sie php -v aus, um Ihre PHP -Version zu überprüfen, und aktualisieren Sie sie gegebenenfalls
  • Oder kompilieren Sie PHP erneut mit iconv
  • Oder aktivieren Sie iconv für WHM/cPanel, falls Sie diese verwenden
  • Oder fragen Sie Ihre Hosting-Firma nach Unterstützung
6

Hier ist eine Lösung für Ihr Problem (Befehlszeile ist für CentOS):

 EasyApache

4
yasin

Ich hatte dieselbe Fehlermeldung, als ich die Mbstring-Erweiterung installierte, aber Apache nicht neu startete.

Alles was Sie tun müssen, ist zu tun

$ Sudo /opt/local/etc/LaunchDaemons/org.macports.Apache2/Apache2.wrapper restart

Ja, ich habe hier einen langen Weg, aber es ist nur für mich. Das liegt daran, dass ich MacPorts verwende

Um Ihren Apache-Standort zu finden, verwenden Sie

$ ps ax | grep Apache 

P.S. 

Ich habe keine iconv-Erweiterung installiert. Bei list ist es nicht aufgelistet, wenn ich php info so anrufe: 

die(phpinfo()); 

BTW 

es ist wirklich einfach, die Erweiterung mit MacPorts zu installieren. Für meinen PHP 5.6 habe ich gerade Folgendes getan:

$ Sudo port install php56-mbstring
0

Gelöst: Wenn Sie Cpanel/WHM STACK verwenden, gehen Sie wie folgt vor: Gehen Sie zu WHM >> EasyApache4 >> Current Installed Packages >> anpassen

Wählen Sie jetzt php Erweiterungen aus und suchen Sie nach iconv und debug installieren Sie beide und versuchen Sie es erneut zu installieren .. viel Spaß :)

0