web-dev-qa-db-ja.com

intl拡張機能:php_intl.dllのインストール

php_intl.dllを見つけてインストールしようとしています。

誰にもヒントがありますか?

73
David

http://windows.php.net/download/ にあるパッケージにはすべて、サブディレクトリphp\_intl.dllにあるext/が含まれています。
extension_dir が正しいディレクトリを指しているかどうかを確認し、extension=php\_intl.dllディレクティブを追加(またはコメント解除)するだけです。

57
VolkerK

php_intl.dll拡張機能が正常に機能するには、PATH内のフォルダーに次のファイルが必要です。

  • icudt36.dll
  • icuin36.dll
  • icuio36.dll
  • icule36.dll
  • iculx36.dll
  • icutu36.dll
  • icuuc36.dll

デフォルトでは、それらはPHPディレクトリにありますが、そのディレクトリは必ずしもPATHにあるとは限りません(私にとってはxamppを使用していませんでした)

これは、ユーザーのパスだけでなく、グローバルパスにある必要があります。グローバルパスを設定するには、システム情報(windows key + PAUSE)、[システムの詳細設定(Vista +)または詳細(XP)]の順にクリックし、[環境変数]ボタンをクリックして、システム変数リストのPATH変数に適切なディレクトリを追加します。

90
Jeremy Warne

XAMPP 1.8.3-0とPHP 5.5.0がインストールされています。

1) php.iniの編集:

から

;extension=php_intl.dll

extension=php_intl.dll

注:変更後、ファイル(php.ini)を保存し、Apacheサーバーを再起動する必要があります。

2)単純にすべてコピーicu * * * * .dllファイル:

から

C:\ xampp\php

C:\ xampp\Apache\bin

その後、intl拡張機能が動作します!!!

56
user2650636

同じ問題を抱えていました... icu * *。dllをドライブで検索して必要なファイルを見つけ、上記のリストを見つけましたが、phpフォルダーに36ではなく46がありました。それらをApache/binファイルにコピーして、Apacheを起動してみたところ、最終的に起動しました。 [サーバーチェック]ページで、黄色のチェックから緑のOKに変更されました。お役に立てれば。

15
Matthew

エラーメッセージを読むと、「icuuc36.dll」が見つかりません。問題は、PATHにPHP dirがないか、すべての「intl」ファイルをphpディレクトリからApache\binディレクトリにコピーできることです。 icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll

9
Max Gebert

PHP 5.3.1とApacheがあります

extension=php_intl.dllをphp.iniに追加してApacheを再起動すると、「要求された操作が失敗しました」という警告が表示されます

そして、イベントモニターのこのエラー:

Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005

問題は、icudt36.dllのようないくつかのDLLが欠落していたことで(sysinternals ProcMonに注目)、PHP 5.3.1 Zipバージョンをダウンロードし、すべてのDLLをPHPフォルダーに抽出しました。これで問題は解決しました。

3
flog

WampServer 2.5Apache 2.4.9およびPHP 5.5.12):

デフォルト持っていたphp_intl有効left click on the wamp icon in the system tray > PHP > PHP extensionsで有効にし、マークされているかどうかを確認できます)

適切に機能させるには、コピー

C:\ wamp\bin\php\php5.5.12\icu ** 51.dll

(合計8ファイル)

to

C:\ wamp\bin\Apache\apache2.4.9\bin

それからちょうど沼を再起動し、すべてがうまくいった。

3
davedavee

IIS 7があり、Windows 7でMicrosoft Web Platform Installerを使用してPHPをインストールしました。IISで、設定メインページのPHP Managerに移動します-> PHP拡張機能->拡張機能を有効または無効にします。 Intl拡張機能はデフォルトで無効になっています。

これが役立つことを願っています

2
Johan Marchan

PHPディレクトリをPATH変数に追加して、この問題を解決しました。 Windows環境変数のPath変数に;C:\xampp\php変数を追加しました。

2
Mehdi Karamosly

この問題に直面したとき、以下の手順を使用して整理されました。

Php.iniを編集します。

Make

; extension = php_intl.dllから

extension = php_intl.dllすべてのicu * * * * .dllファイル(dll拡張子を持つ任意のicuファイル)を単にコピーします。

C:\ xampp\phpからC:\ xampp\Apache\bin

また、msvcp110.dllファイルが見つからないというエラーがある場合。適切な.dllをダウンロードするか、単にここに移動する必要があります http://www.Microsoft.com/es-es/download/confirmation.aspx?id=30679 。EXE。

これでintl拡張が機能するはずです:-)

1

Msvcp110.dllファイルが見つからないというエラーがある場合。適切な.dllをダウンロードするか、単にここに移動する必要があります http://www.Microsoft.com/es-es/download/confirmation.aspx?id=30679 .exe、それは私のために働いた。

1
Dazag

ターミナルで次のコマンドを入力できます:Sudo apt-get install php-intl

0
Sara Vaseei

これを行うより良い方法があります。

私はldap、intl、curl php拡張で同様の問題を抱えていました。次の方法でこれらの問題を解決しました。

最初に、次の行の前にセミコロン(;)を削除して、php.iniファイルでこれらの拡張機能が有効になっているかどうかを確認する必要があります。

;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll

これで、httpd.conf(Apache configuratioファイル)ファイルから必要なdllファイル(つまりlibeay32、libssh2、ssleay32、icu **。dll)を直接ロードできます。 Apacheのbinディレクトリまたはphpのextディレクトリにコピーするような他のことをする必要はありません。 Apacheのhttpd.confファイルに直接追加するだけです。

以下の例は、PHPバージョン5.5.x用です。

LoadFile  "C:/php/icudt51.dll"
LoadFile  "C:/php/icuin51.dll"
LoadFile  "C:/php/icuio51.dll"
LoadFile  "C:/php/icule51.dll"
LoadFile  "C:/php/iculx51.dll"
LoadFile  "C:/php/icutest51.dll"
LoadFile  "C:/php/icutu51.dll"
LoadFile  "C:/php/icuuc51.dll"

LoadFile  "C:/php/libeay32.dll"
LoadFile  "C:/php/libssh2.dll"
LoadFile  "C:/php/ssleay32.dll"

それでおしまい。さあ、Apacheまたはwampを再起動してください。

0
asmmahmud

Windows 10でPHP 7.1.7およびPhpStormを使用してintlを実行するのが困難でしたVisual C++再頒布可能パッケージを(再)インストールした後でも、必要なファイルが含まれています。

最終的に、C:ドライブでvcr * .dllを検索し、C:\Program Files\Mozilla Firefoxディレクトリでvcruntime140.dllのコピーを見つけました。したがって、php.iniにこれらの変更を加えることに加えて:

extension_dir = "ext"
extension=php_intl.dll

また、ランタイムPATHをPHPディレクトリ(私の場合はC:\Program Files\PHP\7.1.7)とFirefoxディレクトリ(上記)のみに設定すると、最終的には機能しました。 vcruntime140.dllだけでなく、他の必要なDLLもFFディレクトリにある必要があることは知っています(数十個ありますが、どのDLLが必須かわからないようにしました)。

Xamppコントロールパネルで、[設定]をクリックしてphp.iniを開きます

削除する ;に

; extension = php_intl.dll

次に、Apacheを再起動します。

0
nothingchen

/ここにディガー/

icu*****.dllファイルを/ext/に移動すると、問題も解決されるようです。

(もちろん、拡張ディレクトリをそこに指定した場合)

0
Diggus

私の場合、ユーザー環境でPHPディレクトリをPATHに追加しても機能しませんでした。いくつかのテストの後、システムPATHに追加する必要があることがわかりました(システム設定ウィンドウのこの部分の名前がわからない、「ポーランドのWindowsがあるからです」)。

  1. あなたのwampserverのPHP拡張の下で、intlがチェックされていることを確認してください
  2. php/v7.0/phpファイルのextension_dirを確認して、ディレクトリがコメント化されておらず、正確であることを確認します
  3. (これが貢献したかどうかはわかりませんが、私は3つすべてを行いました)上記の2と同じファイルの拡張リストに、残りと同じ形式のintファイルを含めます(含まれていない場合)。ではごきげんよう
0
Tower

パッケージはPHP 7.2以降の拡張機能に既に含まれており、php.iniの次の行のコメントを外すだけです。

extension=intl
0
Clean code