Xgenp(php 7.2.5)にMegento 2をインストールしようとすると、インストールプロセスでIntl拡張機能のインストールエラーが見つかります
Php.iniで;extension=intl
をすべてextension=intl
にする
また、すべてのファイルicu*.dll
ファイルをxampp/php
からxampp/php/ext
およびxampp/Apache/pin
ディレクトリにコピーし、もちろんApacheを再起動しました。
MSVCP110.dll
もダウンロードして、C:\Windows\System32
に貼り付けます
PHPシステム変数のパスも確認しましたが、問題ありません。
しかし、これまではIntl拡張機能は機能しませんでした
何か助け?
Xamppセットアップファイル名にはVCXX
が含まれます。たとえば、xampp-win32-7.2.5-0-VC15-installer.exe
、VC15は、PHP Visual Studio 2017でコンパイルされているため、Microsoft Visual C++ Redistributable for Visual Studio 2017
をインストールして、 PHPおよび拡張機能はスムーズに動作していますが、すでにインストール済みのVC14またはVisual C++ Redistributable 2015
で十分な場合があります。
リストを表示してVisual C++再頒布可能パッケージをダウンロードできます here
Php.iniファイルの[intl]セクションを変更する必要があります-
セクションの下に変更
________________________________
[intl]
; intl.default_locale =
;このディレクティブを使用すると、エラーが発生したときにPHPエラーを生成できます。
; intl関数内で発生します。値は、生成されたエラーのレベルです。
;デフォルトは0で、エラーは発生しません。
; intl.error_level = E_WARNING
; intl.use_exceptions = 0
____________________________________
To
________________________________
[intl]
intl.default_locale = en_utf8
;このディレクティブを使用すると、エラーが発生したときにPHPエラーを生成できます。
; intl関数内で発生します。値は、生成されたエラーのレベルです。
;デフォルトは0で、エラーは発生しません。
intl.error_level = E_WARNING
; intl.use_exceptions = 0
____________________________________
国際化拡張機能(さらにIntlと呼ばれる)は"ICUライブラリのラッパーであり、PHPプログラマーがさまざまなロケール対応操作を実行できるようにしますが、これらに限定されません。フォーマット、音訳、エンコーディング変換、カレンダー操作- http://php.net/manual/en/intro.intl.php
Windowsベースのサーバーの場合:
Php_intl.dllファイルがphp extensionsディレクトリにあることを確認してください
ファイルが存在する場合:
php - me
を実行しますファイルが存在しない場合:
php -i | findstr “Thread”
、xamppに付属するバージョンは通常Thread Safety => enabled
です。トラブルシューティング
一部のWebサーバーは、PHP実行可能ファイルの横にあるphp.iniを使用しないため、混乱しています。実際のphp.iniの場所を確認するには、phpinfo()でそのパスを探します:またはコマンド実行でphp --ini
Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File: C:\xampp\php\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
拡張機能をアクティブ化した後、php.iniを保存し、Webサーバーを再起動して、phpinfo()を再度確認します。これで、新しい拡張に独自のセクションができるはずです。
拡張機能がphpinfo()に表示されない場合は、ログを確認して問題の原因を確認する必要があります。
コマンドライン(CLI)からPHPを使用している場合、拡張機能の読み込みエラーは画面で直接読み取ることができます。
PHPをWebサーバーで使用している場合、ログの場所と形式はソフトウェアによって異なります。Webサーバーのドキュメントを読んで、ログの場所を確認してください。 PHP自体で行います。
一般的な問題は、DLLの場所、php.ini内の「extension_dir」設定の値、およびコンパイル時の設定の不一致です。
問題がコンパイル時の設定の不一致にある場合は、おそらく正しいDLLをダウンロードしていません。適切な設定で拡張機能をもう一度ダウンロードしてみてください。繰り返しになりますが、phpinfo()は非常に役立ちます。