私のプロジェクトはローカルホストでは正常に動作しますが、オンラインでは動作せず、これがエラーです:
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
グーグルで検索したところ、PHP拡張機能iconv
をインストールする必要があることがわかりました。私がVPSを使用しているという問題と、利用可能なPHP拡張機能のリストに行ったときに、この拡張機能が見つかりませんでした。
事前にThnx。
Symfonyは、そのような場合にiconv-polyfillを提供します。プロジェクトに要件として追加するだけで問題ありません。
composer require symfony/polyfill-iconv
また、古いバージョンのPHP、または iconvなしでコンパイルされたバージョンを使用している場合があります。
それを確認するには、PuTTYなどのSSHソフトウェアでphp --ri iconv
を実行します。
Extension 'iconv' not present。と表示される場合、問題はPHPにあります。次に、いくつかのオプションがあります。
解決済み:Cpanel/WHM STACKを使用している場合:WHM >> EasyApache4 >>現在インストールされているパッケージ>>カスタマイズに移動します
php extensionsを選択してiconvおよびdebugを検索し、両方をインストールしてからもう一度インストールしてみてください。
Mbstring拡張機能をインストールしても、Apacheを再起動しなかったときに同じエラーメッセージが表示されました。
必要なのは、することです
$ Sudo /opt/local/etc/LaunchDaemons/org.macports.Apache2/Apache2.wrapper restart
ええ、ここには長い道のりがありますが、それは私だけのためです。 MacPortsを使用しているからです
Apacheの場所を見つけるには
$ ps ax | grep Apache
追伸.
iconv
拡張機能もインストールしていません。リストでは、私が次のようにphp情報を呼び出すとリストされていません:
die(phpinfo());
ところで
macPortsで拡張機能をインストールするのは本当に簡単です。私のPHP 5.6
私はちょうどやった:
$ Sudo port install php56-mbstring