pearをWindowsで使えるようにする

公開日| 2015年4月19日   更新日| 2015年4月19日   コメントはありません。

前回の環境設定の記事では、「phpをWindowsで利用する」でも解説したとおりWindowsでphpを動作させることができたと思います。
今回は、PEARです。

PEAR とは?
PEAR は、”PHP Extension and Application Repository” を省略したもので、 果物の梨と同じように(「ペア」と)発音します。

PEAR の目的は、次のものを提供することにあります。
  • PHP ユーザを対象とする、オープンソースなコードの構造化されたライブラリ
  • コード配布およびパッケージ管理のためのシステム
  • PHP のコード作成に関する標準スタイル (こちらを参照
  • PHP 拡張モジュール・コミュニティライブラリ (PHP Extension Community Library: PECL)
  • PHP/PEAR コミュニティをサポートするための Web サイト、 メーリングリスト、ダウンロードミラー

PEARというのは、上記のとおりです。よく混乱している原因に、PECLとPEARがごっちゃに表現されていることがあります。

ここでは、一応、整理しておくと、PECLを使いたいためにPEARをインストールして使えるようにします。

要は、PEARという管理システム?を用いてPECL(PHPの拡張ライブラリ)をインストールする・・・ということですね。



phpには、インストーラバッチが付いている

phpのパッケージには、PEARのインストール用バッチファイル(go-pear.bat)が必ず付いています。
phpをWindowsで利用する」の記事での例でいうと、C:\UTY\PHPというディレクトリの直下にあります。

早速、PEARのインストール用バッチファイル(go-pear.bat)を使ってインストールしてみましょう。

C:\uty\php>go-pear.bat
phar "C:\uty\php\PEAR\go-pear.phar" does not have a signature
Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\uty\php\PEAR\go-pear.phar on line 1236
続行するには何かキーを押してください . . .

・・・・と?エラー発生です。
このエラーを見ると、

C:\uty\php\PEAR\go-pear.phar
というファイルには、シグネイシャ(署名)が見当たらない・・ということらしいでの、とりあえずは、署名なしでも実行するように指定すればOK。

C:\uty\php>php.exe -d phar.require_hash=0 PEAR\go-pear.phar
 
自分の環境では、上記のようなエラーとなりましたが、もし、エラーにならないようであれば、そのまま、以降の処理を続けましょう。

一応、php.exe のオプションの解説をしておきます。

php.exe のオプションは、phar.require_hash=0は、以下の意味です。
このオプションを使用すると、署名つき (現在サポートしているのは MD5、SHA1、SHA256 および SHA512) の Phar アーカイブのみをオープンするようになります。 署名を含まない Phar アーカイブの処理はできません。
Pharとは、phpのアーカイブのことです。Javaでいうところのjarと同じです。
ここで指定しているのは、pharを実行するのに署名は必要ないことを指定しています。

つまり、PEAR\go-pear.pharは、無条件に実行することになります。

続けて、以下のようなメッセージが表示されます。

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

ここは、local copyしたい場合を除き、そのまま[Enter]でOKです。

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:\uty\php
 2. Temporary directory for processing            : C:\uty\php\tmp
 3. Temporary directory for downloads             : C:\uty\php\tmp
 4. Binaries directory                            : C:\uty\php
 5. PHP code directory ($php_dir)                 : C:\uty\php\pear
 6. Documentation directory                       : C:\uty\php\docs
 7. Data directory                                : C:\uty\php\data
 8. User-modifiable configuration files directory : C:\uty\php\cfg
 9. Public Web Files directory                    : C:\uty\php\www
10. Tests directory                               : C:\uty\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]でOKです。

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

Beginning install...
Configuration written to C:\uty\php\pear.ini...
Initialized registry...
Preparing to install...
installing phar://C:/uty/php/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.3.tar...
installing phar://C:/uty/php/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://C:/uty/php/PEAR/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.8.0.tar...
installing phar://C:/uty/php/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
installing phar://C:/uty/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.8.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:\uty\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:\uty\php\php.ini>? [Y/n] : Y

ここで、php.iniに環境設定情報を追加する場合は、Yを選択します。
通常は、YでOK。

もし、インストールの最中に以下のような警告が表示されるようなら、php.iniファイルにタイムゾーンを設定すると消えます。
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead in phar://C:/uty/php/PEAR/go-pear.phar/PEAR/Registry.php on line 987

php.iniに追記するイメージ
[Date]
date.timezone = Asia/Tokyo
php.ini <C:\uty\php\php.ini> include_path updated.

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

ここは、そのまま継続なので、EnterでOK。

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

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


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

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

C:\uty\php>

最後のC:\uty\php\PEAR_ENV.reg を実行して、環境設定をしてね・・ということなので、管理者権限で、PEAR_ENV.reg をダブルクリックで実行して、レジストリ設定を行えばOK。



試しにBenchmarkをインストールしてみる

試しに、BenchmarkというPECLをインストールしてみましょう。

C:\uty\php>pear install Benchmark
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-upd
ate pear.php.net" to update
downloading Benchmark-1.2.8.tgz ...
Starting to download Benchmark-1.2.8.tgz (8,352 bytes)
.....done: 8,352 bytes
install ok: channel://pear.php.net/Benchmark-1.2.8

C:\uty\php>

簡単な以下のサンプルを実行してみましょう。

<?php

 require_once 'Benchmark/Timer.php';

 

 $timer = new Benchmark_Timer();

 $timer->start();

 $timer->setMarker('Marker 1');

 $timer->stop();

 

 $timer->display(); // to output html formated

 // AND/OR :

 $profiling = $timer->getProfiling(); // get the profiler info as an associative array

 ?>

こんな感じで出力されればOK。

C:\>php test_benchmark.php
-------------------------------------------------------
marker     time index            ex time         perct
-------------------------------------------------------
Start      1288644768.80015100   -                0.00%
-------------------------------------------------------
Marker 1   1288644768.80019500   0.000044        80.00%
-------------------------------------------------------
Stop       1288644768.80020600   0.000011        20.00%
-------------------------------------------------------
total      -                     0.000055       100.00%
-------------------------------------------------------


コメント

口コミ・評判を投稿 :

ブラウザの JavaScriptが無効となっている場合、コメントの投稿はできません。
コメントを投稿するには、JavaScriptを有効にしてください

お名前 *

メールアドレス *
(口コミ・評判欄には、表示されませんが入力が必要です。)

サイトアドレス



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ