Mon projet fonctionne bien sur localhost mais ne fonctionne pas en ligne et c'est l'erreur:
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
Je l'ai googlé et j'ai constaté que je devais installer l'extension PHP iconv
. Le problème que j'utilise un VPS et quand je suis allé à la liste des extensions disponibles PHP, je n'ai pas trouvé cette extension!
Merci d'avance.
Symfony fournit un iconv-polyfill pour de tels cas. Il suffit de l’ajouter comme exigence à votre projet et tout devrait bien se passer:
composer require symfony/polyfill-iconv
Il se peut également que vous utilisiez une version obsolète de PHP, ou, compilée sans iconv.
Pour vérifier cela, lancez php --ri iconv
avec n’importe quel logiciel SSH, comme PuTTY, etc.
Si Extension 'iconv' n'est pas présent., Votre problème est en PHP. Ensuite, vous avez quelques options:
J'ai eu le même message d'erreur lorsque j'ai installé l'extension Mbstring mais je n'ai pas redémarré Apache.
Tout ce qu'il faut c'est faire
$ Sudo /opt/local/etc/LaunchDaemons/org.macports.Apache2/Apache2.wrapper restart
Oui, j'ai un long chemin ici, mais c'est juste pour moi. C'est parce que j'utilise MacPorts
Pour trouver votre emplacement Apache, utilisez
$ ps ax | grep Apache
P.S.
Je n'ai pas l'extension iconv
installée aussi. À la liste, il n'apparaît pas dans la liste lorsque j'appelle php info comme ceci:
die(phpinfo());
BTW
c'est vraiment facile d'installer l'extension avec MacPorts, Pour mon PHP 5.6
je viens de faire:
$ Sudo port install php56-mbstring
Résolu: Si vous utilisez Cpanel/WHM STACK suivez alors: Allez à WHM >> EasyApache4 >> Paquets actuellement installés >> personnaliser
Maintenant, sélectionnez extensions php et recherchez iconv et debug installez-les tous les deux et essayez de les réinstaller .. profiter :)