CLIでスクリプトを実行すると、次のエラーが発生します。
PHP Fatal error: Call to undefined function mb_detect_encoding() <script path/name here>
いくつかの背景。
PHP 5.3.10 (cli) (built: Feb 2 2012 20:27:51)
MySQLとApache2.2(両方とも現在機能している)でWindows 7(これを作業制約と呼びます)を実行する
この関数がモジュールphp_mbstring.dllの一部であることを理解しています
これをロードするための取り組みの網羅的なリストを試みます。
- php.iniの場所を確認しました。phpinfoは、ロードされたファイルがc:\phpにあることを示します。構成ファイルはc:\ windowsにあります(2つの場所-両方とも同じ.iniファイルを持っています)
- php.iniファイルにはコメントされていないextension=php_mbstring.dllがあります
- 拡張ディレクトリは、両方のphp.iniファイルでextension_dir = "c:\ php\ext"として指定されています。
- 指定されたファイル(php_mbstring.dll)は、実際には指定されたディレクトリc:\ php \ ext\php_mbstring.dllに存在します。
- これが効果的である理由はわかりませんが、他のフォーラムで見られるように、dllをphpルートとwindows32ディレクトリの両方に移動しました
- 他の機能的な非コアモジュール(例:mysqli)を同じ方法で問題なくロードしています
ロードされた構成ファイル(c:\ php \ php.ini)の拡張子行のコメントを解除すると、「php5.dllがコンピューターにないため開始できません」という追加のシステムエラーが次のように表示されることに注意してください。ダイアログボックス。両方とどちらかでコメントを外そうとしましたが、同じエラーが発生します。
PHPを再コンパイルまたは再インストールせずにこのモジュールをロードする方法があると思います。