Windows10 xampp環境のPHPにintl拡張モジュールをインストールする

php

Windows10のxampp環境にあるphpにintl拡張モジュールをインストールした際の記録である。

php intl拡張モジュールとは

intl拡張モジュールとは、phpの国際化用拡張モジュールのこと。

どうやら、xamppの標準環境では、intl拡張モジュールはインストールされていないらしいので、追加でインストールしなければならない。

xampp環境のPHPにintl拡張モジュールをインストールする

intl拡張モジュールは、phpの拡張モジュールだ。

intl拡張モジュールのインストールは、Windowsにphpの拡張モジュールをインストールする手順を踏めばいい。

Windowsにphp拡張モジュールをインストールする手順は、PHP 拡張モジュールの Windows へのインストールに詳しく解説されている。

xampp環境のPHPにintl拡張モジュールをインストールするには、「php_intl.dll」を有効化する。

PHP 拡張モジュールの Windows へのインストールによると、多くのPHP拡張モジュールは「php/ext」フォルダにあるはずだと書かれている。

筆者の環境で、「php_intl.dll」の有無を確認したところ、下記のように存在した。

C:\xampp\php\ext\php_intl.dll

intl拡張モジュールの有効化

xampp環境下のphp拡張モジュールを有効化するためには、php.iniをカスタマイズする。

php.iniをエディタで開くと、intl拡張モジュールに関する設定がコメントアウトされており、システムに読み込まれていなかった。

;extension=intl

intl拡張モジュール有効化のための手順は下記の通り。

  1. php.iniのintl拡張モジュール設定のコメントを外す extension=intl
  2. apacheを再起動する

intl拡張モジュールの可用性の確認方法

intl拡張モジュールが有効になっているか否かは、phpinfo()を実行すればわかる。

xamppの場合、http://localhost/ にアクセスすれば、ダッシュボード画面が表示される。

ダッシュボード画面にある「PHPInfo」のリンクをクリックすれば、phpinfo画面が確認出来るはずだ。

xamppのdashboard

xamppのdashboard

多くのxampp環境では、http://localhost/dashboard/phpinfo.php にアクセスすれば、phpinfo()が表示されると思う。

intl拡張モジュールの可用性の確認は、phpinfo画面に「intl」のエントリがあれば、利用可能ということになる。

phpinfoに表示されたintlの文字

phpinfoに表示されたintlの文字


intl拡張モジュールが有効化されない場合の対処

もし、phpinfo画面に「intl」の文字が見つからない場合は、ログ(error log)を確認してみる。

エラーログの場所は、phpinfoのerror_log Directiveに記載されている。

筆者の環境では、「\xampp\php\logs\」ディレクトリ以下に設定されている。

ICUライブラリの可用性を確認する

intl拡張モジュールを利用するには、ICUライブラリがインストールされていることが前提となる。

もし、phpのエラーログに「PHP Startup: Unable to load dynamic library ‘intl’」のようなメッセージが残っているとしたら、ICUライブラリが機能していない可能性がある。

ICUライブラリは、xamppに同梱されているはずで、php.exeのあるディレクトリにあるはずだ。

恐らく、C:\xampp\php ディレクトリ辺りに「icu*.dll」というファイルがある。

「icu*.dll」は、存在するだけではダメで、pathを通す必要がある。

「システム環境変数」の「path」に「C:\xampp\php」を追加する。

Windowsシステムプロパティダイアログ

Windowsシステムプロパティダイアログ

手順は下記の通り。

  1. 「Windows」+「R」キーで「ファイル名を指定して実行」ダイアログを表示させ、「sysdm.cpl」を入力
  2. 「詳細設定」タブを開き、「環境変数」コマンドボタンを押下
  3. 「環境変数」ダイアログボックスの「システム環境変数」領域にあるリストボックスで、「Path」を選択する
  4. 「編集」コマンドボタンを押下する
  5. 「環境変数名の編集」ダイアログボックスで「新規」コマンドボタンを押下する。
  6. 「icu*.dll」のあるパスを指定する。

参考資料

タイトルとURLをコピーしました