2

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を再コンパイルまたは再インストールせずにこのモジュールをロードする方法があると思います。

4

0 に答える 0