web-dev-qa-db-ja.com

wampを使用したintl拡張php_intl.dll

Moodleを使用したいのですが、インストール中にエラーが発生します:

最良の結果を得るには、php_extension-> intl->をインストールして有効にする必要があります。

Intl拡張は、ロケール対応のソートなどの国際化サポートを改善するために使用されます。

リンクをクリックすると、上記のエラーメッセージが表示されます:http://docs.moodle.org/24/en/admin/environment/php_extension/intl

そのリンクをたどりましたが、同じエラーが発生します。誰かが何かアイデアがあれば、私を助けてください。

14
Ankur Saxena

数日前に同じ問題がありました。

すべてのファイルをコピーする必要があります(すべてのファイルはicu*で始まります):

icudt.dll
icudt46.dll
icuin.dll
icuin46.dll
icuio.dll
icuio46.dll
icule.dll
icule46.dll
iculx.dll
iculx46.dll
icutest.dll
icutest46.dll
icutu.dll
icutu46.dll
icuuc.dll
icuuc46.dll

から:

<wamp_installation_path>/bin/php/php5.4.3/

に:

<wamp_installation_path>/bin/Apache/apache2.2.22/bin/

また、php.iniファイルでintlを有効にする必要もあります(この行のコメントを外します)。

;extension=php_intl.dll

サーバーを再起動します。正常に動作するはずです。

もちろん、フォルダ名を自分の名前に置き換える必要があります。

54
Athlan

最近、PHP 5.5リリースの新しいバージョンでは、php_intl.dllがMSVCP110.dllにリンク(ロード)し、さらにより一般的なMSVCR110.dll(どちらも共通の機能を提供するC/C++ランタイムDLLです)。

以前は、VC++ 2012再頒布可能DLLとApacheのフルセットをインストールする代わりに、PATHのディレクトリのどこかにファイルMSVCR110.dllを含めるだけでした。Apache+ PHP + PHP php_intl.dllなどの拡張機能はすべてロードされます。

PHPがこのエラーを出している場合:

PHPスタートアップ:ダイナミックライブラリC:/wamp/php/ext/php_intl.dllを読み込めません–指定されたモジュールが見つかりませんでした。

次の2つのことを行う必要があります。

  1. PHPのフォルダーからApacheのbinフォルダーにさまざまなicu * .dllファイルをコピーする代わりに、PHPディレクトリをシステムのPATH変数に含めます。

  2. 完全なMicrosoft VC++ 2012ランタイム再頒布可能パッケージをインストールします。 32ビットPHPビルド用の32ビットバージョンを必ず取得してください。

この問題の詳細については、こちらをご覧ください- ロードまたは検索できませんPHP extension php_intl.dll

3
rightstuff

私は多くのオプション(Moodleによって提案されたものを含む)を試しましたが、役に立ちませんでした。 VC++再頒布可能パッケージが役に立ちました。

64ビットOSを使用している場合でも、x86バージョンをインストールする必要があることに注意してください。

https://www.Microsoft.com/en-us/download/details.aspx?id=48145

0