XAMPP の PEAR
XAMPP には、すでに基本的な PEAR がインストールされています。基本的な PEAR のみを使用する場合は、このままでかまいません。
XAMPP でも、インストールされていないパッケージを利用したい場合などは、PEAR パッケージマネージャを使って新しいパッケージをインストールすることができます。
PEAR パッケージマネージャのインストール
XAMPP Windows 版 1.6.2 の場合を例にとり、PEAR パッケージマネージャのインストール方法を説明します。本来は、C:\xampp\php\ にある go-pear.bat をダブルクリックして実行すれば、簡単に PEAR パッケージマネージャがインストールされるはずです。ところが、色々不具合があり、とても大変でした。
不具合を解消しながら、次の手順でインストールします。
- pear.ini の修正
- 最新の go-pear.phar を取得
- php_svn.dll が見つからない対応
- go-pear.bat を実行し、PEAR パッケージマネージャをインストール
- Configuration File を対応
- PEAR パッケージマネージャを実行
- 環境変数にパスを追加
pear.ini の修正
C:\xampp\php\ にある pear.ini の記述に、パスの通っていない箇所があります。パスの頭にドライブ名などがついていないところ \xampp\php を、C:\xampp\php\ のように修正します。
pear.ini のオリジナル
a:8:{s:15:"preferred_state";s:6:"stable";s:7:"bin_dir";s:12:"C:\xampp\php";s:7:"php_dir";s:17:"\xampp\php\pear";s:7:"doc_dir";s:22:"\xampp\php\pear\docs";s:8:"data_dir";s:22:"\xampp\php\pear\data";s:8:"test_dir";s:23:"\xampp\php\pear\tests";s:7:"php_bin";s:22:"\xampp\php\.\php.exe";s:10:"__channels";a:2:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}}}
pear.ini の修正後
a:8:{s:15:"preferred_state";s:6:"stable";s:7:"bin_dir";s:12:"C:\xampp\php";s:7:"php_dir";s:17:"C:\xampp\php\pear";s:7:"doc_dir";s:22:"C:\xampp\php\pear\docs";s:8:"data_dir";s:22:"C:\xampp\php\pear\data";s:8:"test_dir";s:23:"C:\xampp\php\pear\tests";s:7:"php_bin";s:22:"C:\xampp\php\.\php.exe";s:10:"__channels";a:2:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}}}
最新の go-pear.phar を取得
go-pear.bat が参照する go-pear.phar がありません。Log of /pear/installphars/go-pear.phar から、最新の go-pear.phar をダウンロードし、C:\xampp\php\ に置きます。
php_svn.dll が見つからない対応
ここで、go-pear.bat をダブルクリックし実行しても、コマンドプロンプトが開き下記のエラーになります。
php_svn.dll が見つからないエラー
PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\xampp\php\ext\php_
svn.dll’ - 指定されたモジュールが見つかりません。
C:\xampp\php\php.ini の中にある 670 行の extension=php_svn.dll の先頭に # をつけコメント化すれば、エラーは消えますが、extension=php_svn.dll の行をを無効にしたままでは、後で不具合がおきる可能性があります。ちゃんとした対応をしておきましょう。
C:\xampp\apache\bin\ にある 5 個のファイル( intl3_svn.dll、libapr.dll、libapriconv.dll、libaprutil.dll、libdb43.dll )を C:\xampp\php\ にコピーすれば、 extension=php_svn.dll のコメントをはずして有効にしても、エラーが出なくなります。
go-pear.bat を実行
これでやっと、go-pear.bat をダブルクリックします。コマンドプロンプトで cmd.exe が実行され、セットアップがはじまると質問がいくつか行われます。そこで指定したパスに PEAR パッケージマネージャがインストールされます。全て Enter キーを押した場合のせっていは、PEAR コマンドの config-show で確認できます。コマンドプロンプトで、ディレクトリを c:\xampp\php\ に移動してから、pear config-show を入力します。
config-show の実行例
C:\xampp\php>pear config-show
CONFIGURATION (CHANNEL PEAR.PHP.NET):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir C:\xampp\php
PEAR documentation directory doc_dir C:\php5\pear\docs
PHP extension directory ext_dir C:\xampp\php\ext\
PEAR directory php_dir C:\xampp\php\pear
PEAR Installer cache directory cache_dir C:\DOCUME~1\USER\LOCALS~1\Temp\p
ear\cache
PEAR data directory data_dir C:\php5\pear\data
PEAR Installer download download_dir C:\DOCUME~1\USER\LOCALS~1\Temp\p
ear\cache
directory
PHP CLI/CGI binary php_bin C:\xampp\php\.\php.exe
PEAR Installer temp directory temp_dir C:\DOCUME~1\USER\LOCALS~1\Temp\p
ear\temp
PEAR test directory test_dir C:\php5\pear\tests
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 0
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin c:\gnupg\gpg.exe
Signature Key Directory sig_keydir C:\WINDOWS\pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename C:\WINDOWS\pear.ini
System Configuration File Filename C:\WINDOWS\pearsys.ini
Configuration File を対応
Configuration File が、C:\WINDOWS\pear.ini になっています。Configuration File を参照しない PEAR パッケージの動作には支障が無いようですが、Configuration File を参照する PEAR_Info( PEAR/Info.php )を実行すると、次のエラーになります。
ここでは、Configuration File の設定変更方法がわかりませんでしたので、対処療法をしました。
C:\WINDOWS に先ほど修正した pear.ini をコピーします。これで、エラーは解消されます。
PEAR パッケージマネージャを実行
PEAR パッケージマネージャは、コマンドプロンプトから利用します。コマンドプロンプトで、ディレクトリを c:\xampp\php\ に移動し、PEAR コマンドを実行します。
次の例は、Pear_Info のインストールです。
Pear_Info のインストール
downloading PEAR_Info-1.7.0.tgz ...
Starting to download PEAR_Info-1.7.0.tgz (56,638 bytes)
..............done: 56,638 bytes
install ok: channel://pear.php.net/PEAR_Info-1.7.0
環境変数にパスを追加
毎回、ディレクトリを移動するのは大変でので、コマンドプロンプトから PEAR コマンドを使用できるように、環境変数( PATH )に PHP のパスを追加します。
Windows では、「コントロールパネル」→「システム」→「詳細設定」→「環境変数」で、システム環境変数の Path を編集します。いろいろな Path が書いてあると思います。パスを複数設定する場合は ; で区切ります。
;%SystemRoot%\System32\Wbem;C:\xampp\perl\bin などと書いてある次に続けて
;C:\xampp\php を追加します。これで、コマンドプロンプトから、ディレクトリを移動しなくとも PEAR コマンドが有効になります。ためしに path コマンドを実行してみましょう。
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\xampp\perl\bin;C:\xampp\php
