我的项目在localhost上工作正常,但没有在线工作,这是错误:
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
我google了它,我发现我需要安装PHP扩展iconv
。我正在使用VPS的问题,当我进入可用的PHP扩展列表时,我没有找到这个扩展!
提前致谢。
Symfony为这样的案例提供了iconv-polyfill。只需将其作为需求添加到您的项目中,您应该没问题:
composer require symfony/polyfill-iconv
您可能还会使用过时的PHP版本,或者使用没有iconv编译的版本。
要检查这一点,请使用任何SSH软件运行php --ri iconv
,例如Putty等。
如果它显示扩展'iconv'不存在。,您的问题是在PHP中。那你有几个选择:
解决:如果你正在使用Cpanel / WHM STACK,请按照:转到WHM >> EasyApache4 >>当前安装的包>>定制
现在选择php扩展并搜索iconv并调试安装它们并尝试再次安装..享受:)
当我安装Mbstring扩展但没有重启Apache时,我有相同的错误消息。
所需要的只是做
$ sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart
是的,我在这里有很长的路,但它只适合我。这是因为我使用MacPorts
要找到您的Apache位置使用
$ ps ax | grep apache
附:
我也没有安装iconv
扩展。在列表中,当我调用php信息时,它没有列出:
die(phpinfo());
BTW
使用MacPorts安装扩展程序非常简单,对于我的PHP 5.6
我只做了:
$ sudo port install php56-mbstring