WindowsのPHPにPEARをインストールする。(go-pear.batが含まれていない場合。)

WindowsのPHPにPEARをインストールする。(go-pear.batが含まれていない場合。)

PHPにPEARをインストールすることになったが、手元のPHP5.3.9、PHP5.4 系ではc:\php\にgo-pear.batが含まれていない。

PEARのマニュアルを見ると、インストール方法が記載されていた。

PEAR パッケージマネージャの取得とインストール

http://pear.php.net/manual/ja/installation.getting.php

PEAR インストールのアップデートを行うには、 http://pear.php.net/go-pear.phar をブラウザで表示してその出力をローカルファイル go-pear.phar に保存します。

そして次のコマンドを Windows のコマンドプロンプトで実行してください。

php go-pear.phar

要するに、http://pear.php.net/go-pear.phar をc:\php\に保存して、コマンドプロンプトでphp go-pear.pharをやればよさそう。

早速やってみた。何も考えずにデフォルト値でリターンキーを打つと、エラー。

c:\php>php go-pear.phar

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : C:\php
 2. Temporary directory for processing            : C:\php\tmp
 3. Temporary directory for downloads             : C:\php\tmp
 4. Binaries directory                            : C:\php
 5. PHP code directory ($php_dir)                 : C:\php\pear
 6. Documentation directory                       : C:\php\docs
 7. Data directory                                : C:\php\data
 8. User-modifiable configuration files directory : C:\php\cfg
 9. Public Web Files directory                    : C:\php\www
10. Tests directory                               : C:\php\tests
11. Name of configuration file                    : C:\Windows\pear.ini
12. Path to CLI php.exe                           : C:\php

1-12, 'all' or Enter to continue:
Beginning install...
PEAR_Config::writeConfigFile fopen('C:\Windows\pear.ini','w') failed (fopen(C:\Windows\pear.ini): failed to open stream: Permission denied)

あれ、C:\Windows\pear.ini が書き込めないというエラーになっている。

管理者権限ではないコマンドプロンプトなのでC:\Windows\には書けない & C:\Windows\に書き込んでほしくない。

もう一度php go-pear.pharコマンドを実行し、今度は、11. Name of configuration file を「$prefix\pear.ini」としてインストールしてみた。

C:\php>php go-pear.phar

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : C:\php
 2. Temporary directory for processing            : C:\php\tmp
 3. Temporary directory for downloads             : C:\php\tmp
 4. Binaries directory                            : C:\php
 5. PHP code directory ($php_dir)                 : C:\php\pear
 6. Documentation directory                       : C:\php\docs
 7. Data directory                                : C:\php\data
 8. User-modifiable configuration files directory : C:\php\cfg
 9. Public Web Files directory                    : C:\php\www
10. Tests directory                               : C:\php\tests
11. Name of configuration file                    : C:\Windows\pear.ini
12. Path to CLI php.exe                           : c:\php

1-12, 'all' or Enter to continue: 11
(Use $prefix as a shortcut for 'C:\php', etc.)
Name of configuration file [C:\Windows\pear.ini] : $prefix\pear.ini

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : C:\php
 2. Temporary directory for processing            : C:\php\tmp
 3. Temporary directory for downloads             : C:\php\tmp
 4. Binaries directory                            : C:\php
 5. PHP code directory ($php_dir)                 : C:\php\pear
 6. Documentation directory                       : C:\php\docs
 7. Data directory                                : C:\php\data
 8. User-modifiable configuration files directory : C:\php\cfg
 9. Public Web Files directory                    : C:\php\www
10. Tests directory                               : C:\php\tests
11. Name of configuration file                    : C:\php\pear.ini
12. Path to CLI php.exe                           : c:\php

1-12, 'all' or Enter to continue:
Beginning install...
Configuration written to C:\php\pear.ini...
Initialized registry...
Preparing to install...
installing phar://C:/php/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.7.tar...
installing phar://C:/php/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.3.0.tar...
installing phar://C:/php/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.9.4.tar...
installing phar://C:/php/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.4.tar...
installing phar://C:/php/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.2.1.tar...
install ok: channel://pear.php.net/Archive_Tar-1.3.7
install ok: channel://pear.php.net/Console_Getopt-1.3.0
install ok: channel://pear.php.net/Structures_Graph-1.0.4
install ok: channel://pear.php.net/XML_Util-1.2.1
install ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"

** WARNING! Old version found at C:\php, please remove it or be sure to use the new c:\php\pear.bat command

The 'pear' command is now at your service at c:\php\pear.bat


* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under C:\phpPEAR_ENV.reg .
This file creates ENV variables for the current user.

Double-click this file to add it to the current user registry.

今度はうまくインストールできた模様だ。

最後に C:\php\PEAR_ENV.reg を実行すると、カレントユーザーの環境変数にPEARの設定が追加される。

REGEDIT4
[HKEY_CURRENT_USER\Environment]
"PHP_PEAR_SYSCONF_DIR"="C:\\php"
"PHP_PEAR_INSTALL_DIR"="C:\\php\\pear"
"PHP_PEAR_DOC_DIR"="C:\\php\\docs"
"PHP_PEAR_BIN_DIR"="C:\\php"
"PHP_PEAR_DATA_DIR"="C:\\php\\data"
"PHP_PEAR_PHP_BIN"="c:\\php\\php.exe"
"PHP_PEAR_TEST_DIR"="C:\\php\\tests"

追加後、再起動して、コマンドプロンプトで環境変数を確認すると、

C:\php>set
PHP_PEAR_BIN_DIR=C:\php
PHP_PEAR_DATA_DIR=C:\php\data
PHP_PEAR_DOC_DIR=C:\php\docs
PHP_PEAR_INSTALL_DIR=C:\php\pear
PHP_PEAR_PHP_BIN=c:\php\php.exe
PHP_PEAR_SYSCONF_DIR=C:\php
PHP_PEAR_TEST_DIR=C:\php\tests

が追加されていた。

関連記事