インストール

ローカル環境 (Windows) へのインストール

インストール

PHPのインストール フォルダにあるバッチファイル、go-pear.batを実行します。

go-pear.batが存在しない場合、http://pear.php.net/go-pear.pharをphp.exeのフォルダにPEARフォルダを作成して保存し、コマンドプロンプトから

C:\PHP>php.exe -d output_buffering=0 PEAR\go-pear.phar

と実行することで代替できます。これはgo-pear.batが、

@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 PEAR\go-pear.phar
pause

という内容だからです。または単純に、

C:\PHP>php.exe PEAR\go-pear.phar

とします。

実行時に「Warning: PHP Startup: Unable to load dynamic library '***' - 指定されたモジュールが見つかりません。」となるときには、php.iniのextension_dirで適切なディレクトリが指定されているか確認します。

go-pear.batを実行すると、次のように問われます。

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

a system-wide PEAR (システム共有のPEAR) としてインストールするならば、そのままEnterを押下します。a local copy (ローカルコピー) とするならば、"local"と入力します。Manual :: 共有ホストでの PEAR のローカルコピーのインストール

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                           : .

1-12, 'all' or Enter to continue:

インストールする場所を確認します。変更が不要ならばEnterを押下します。このときインストールする場所へのアクセス権がないとインストールに失敗し、次のように表示されます。

*WARNING*
We found php.exe under ., it uses an unknown SAPI. PEAR commandline
tool has not been tested with it, if you have a CLI (or CGI) php.exe available,
we strongly recommend using it.
Unable to create Temporary directory for processing C:\PHP\tmp.
Run this script as administrator or pick another location.

このときはコマンドプロンプトを管理者として起動し、再度php.exe -d output_buffering=0 PEAR\go-pear.pharを実行するか、インストールするディレクトリを変更します。

インストールに成功すると、次のような表示となります。

Beginning install...
Configuration written to C:\Windows\pear.ini...
Initialized registry...
Preparing to install...
installing phar://C:/PHP/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.3.tar...
installing phar://C:/PHP/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://C:/PHP/PEAR/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.9.0.tar...
installing phar://C:/PHP/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
installing phar://C:/PHP/PEAR/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.2.1.tar...
install ok: channel://pear.php.net/Archive_Tar-1.3.3
install ok: channel://pear.php.net/Console_Getopt-1.2.3
install ok: channel://pear.php.net/Structures_Graph-1.0.2
install ok: channel://pear.php.net/XML_Util-1.2.1
install ok: channel://pear.php.net/PEAR-1.9.0
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!  The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
<C:\PHP\pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.


Would you like to alter php.ini <C:\PHP\php.ini>? [Y/n] :

php.iniに、pearのパスを記述するように促されます。ここでYと入力すると、php.iniに

;***** Added by go-pear
include_path=".;C:\PHP\pear"
;*****

のように追記されます。

php.ini <C:\PHP\php.ini> include_path updated.

Current include path           : .;C:\php\pear
Configured directory           : C:\PHP\pear
Currently used php.ini (guess) : C:\PHP\php.ini
Press Enter to continue:

確認したらEnterを押下します。続けて警告が表示されますが、インストールはこれで完了です。

pear.bat

インストール完了時、次のような警告が表示されることがあります。

** 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
実行時のエラー

pear.batを実行したとき、syntax error, unexpected '(' in Unknown on line 14のようにエラーが返されることがあります。これはPEARのインストール ディレクトリのパスに、空白が含まれる場合に生じる問題です。これを解決するには、pear.batの

include_path="%PHP_PEAR_INSTALL_DIR%"

と記述されている部分を、

"include_path='%PHP_PEAR_INSTALL_DIR%'"

に修正します。Bug #16644 :: pear.bat returns syntax error when parenthesis are in install path.

PEAR_ENV.reg

以下の環境変数への登録は、必須ではありません。

インストール完了時、次のようにPEAR_ENV.regの実行を促すメッセージが表示されます。

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

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

これを実行すると、レジストリにユーザー環境変数が登録されます。その内容は、

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"

のようなもので、[HKEY_CURRENT_USER\Environment]に設定値が書き込まれます。環境変数が誤って設定されていると、pear.batの実行時に

C:\php>pear.bat
PHP_PEAR_INSTALL_DIR is not set correctly.
Please fix it using your environment variable or modify
the default value in pear.bat
The current value is:
C:\PHP5\pear

のように表示されます。そのときはレジストリの設定値を確認します。

パッケージのインストール

パッケージのインストールは、pear.batを使用し

pear install options <package>

とします。optionsには、

  • --force … インストールの強制
  • --alldeps … 依存するパッケージもインストール
  • --nodeps …

を指定できます。たとえばCache_Liteをインストールするならば、

C:\php>pear install Cache_Lite

として、成功すると

downloading Cache_Lite-1.7.15.tgz ...
Starting to download Cache_Lite-1.7.15.tgz (32,355 bytes)
.........done: 32,355 bytes
install ok: channel://pear.php.net/Cache_Lite-1.7.15

のように出力されます。インストール時に、xx is not writeable by the current userのようにエラーとなるときには、コマンドプロンプトを管理者として実行してインストールを行います。

チャンネルの更新

インストールの実行時に、

WARNING: channel "pear.php.net" has updated its protocols,
use "pear channel-update pear.php.net" to update

と表示されるときには、指示通り

C:\>pear channel-update pear.php.net

と実行します。成功すると、

Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded

と表示されます。一方で

Channel "pear.php.net" is up to date

と表示されるならば、すでに最新版です。

インストール済みパッケージの確認

C:\>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE          VERSION STATE
Archive_Tar      1.3.3   stable
Console_Getopt   1.2.3   stable
PEAR             1.9.0   stable
Structures_Graph 1.0.2   stable
XML_Util         1.2.1   stable

のように、インストールされているパッケージの一覧が表示されます。詳細を確認するには、次項のPEAR_Infoを使用します。

PEAR_Info

PEAR_Infoで、インストールされているPEARとそのパッケージについての情報を確認できます。PEAR_Infoパッケージを

pear install PEAR_Info

のようにインストールして、

<?php
require_once 'PEAR/Info.php';

$info = new PEAR_Info();
$info->display();
Manual :: PEAR_Info の出力を表示する

のように使用します。結果は次のように表示されます。

アップデート

http://pear.php.net/go-pear.pharのページをローカルに保存し、PEAR/go-pear.pharに上書きします。そしてgo-pear.batを実行し、再度インストールを行います。

ホスティング環境へのインストール

http://pear.php.net/go-pearをgo-pear.phpというファイル名で保存し、それをサーバにアップロードします。そして、そのページをブラウザで開きます。

go-pear.phpは保守されていないため、現在ではそのままでは利用できなくなっています。よってgo-pear.phpを修整するか、必要なパッケージをFTPでアップロードします。

ページが表示されたら[Next]をクリックします。

インストールの設定画面が表示されますので、必要項目を入力します。

重要なのは、

  • 1.Installation prefix … インストールするファイルの基点
  • 10.Filename of WebFrontend … パッケージマネージャのページ
    (既定ではInstallation prefixで指定されたディレクトリにインストールされるため、それが外部からアクセスできない位置にあるとパッケージマネージャを開けなくなる)
  • 11.php.exe path, optional … php.exeのパス
    (サーバによって異なりますが、/usr/local/bin/phpか/usr/bin/phpにあります)

の3項目です。設定内容を確認したら[Install]をクリックします。

インストール ログに[Installation Completed]と表示されたら、インストールは成功です。この表示がなく処理が停止しているようならば、ページを再読み込みします。

ページ下部の[Start Web Frontend of the PEAR Installer]をクリックするとパッケージマネージャが表示され、続けてパッケージをインストールできます。

パッケージのインストール (パッケージマネージャ)

パッケージをインストールするには、パッケージマネージャ (Package Manager) を開きます。それはインストール時に[Filename of WebFrontend]で指定したパスにあります。

パッケージマネージャを表示したとき、環境や設定によっては[Deprecated]や[Strict Standards]エラーが多数表示されます。これをわずらわしく感じるならば、error_reportingを設定することで非表示にできます。

インストールするパッケージ名がわかっているならば、[Quick-install a package]にそのパッケージ名を入力し、[Install]をクリックします。

パスの設定

PEARのライブラリを容易にインクルードできるように、PEARのパスをphp.iniで設定します。そのパスはインストール時に指定した[PHP code directory]であり、

include_path = ".:/home/account_name/pear/PEAR"

のように設定します。(環境によっては、この通りではありません)

なおPEARのパスは、パッケージマネージャの[Configuration]のページで、[PEAR directory]の項目を調べることでも確認できます。

PHPのマニュアルから検索