PHP で使用する Pear のセットアップ方法とパッケージのインストール方法のメモです。Pear は PECL と違ってソースコードレベルで提供されるライブラリパッケージです。パフォーマンスの点では PECL に譲りますが、インストールするパッケージは PHP ソースコードなので自分で保守できる事が特徴です
Pear のセットアップを行います。Windows のコマンドプロンプトを起動し PHP をインストールしたディレクトリに移動します
>cd /d c:¥php
PHP をインストールしたディレクトリに go-pear.bat というバッチファイルがあるのでこのコマンドスクリプトを実行します
>go-pear
go-pear を実行すると、以下の様にインストール方法に関する情報を入力するようにプロンプトが表示されます
>go-pear
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : enterデフォルトの system でいいので enter で次に進みます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¥pear¥docs
7. Data directory : C:¥php¥pear¥data
8. Tests directory : C:¥php¥pear¥tests
9. Name of configuration file : C:¥php¥pear.ini
10. Path to CLI php.exe : C:¥php
1-10, 'all' or Enter to continue: enter
1 から 10 までの Pear で使用するディレクトリを指定します。そのままでよければ enter でセットアップを開始します。ディレクトリを変更したい場合は変更したい対応する番号を入力します。例えば 5番の PHP code directory を変更したい場合は、5 enter とここで入力しますBeginning install...
Configuration written to C:¥php¥pear.ini...
Initialized registry...
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.2.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.6.1.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
install ok: channel://pear.php.net/Archive_Tar-1.3.2
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/PEAR-1.6.1
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
go-pear を何回も行ったりするとこの警告メッセージが表示されますが、この場合は特に問題ないのできにしなくてよい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:¥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:¥php¥PEAR_ENV.reg をエクスプローラーなどからダブルクリックしてシステムに反映させます。行っていることは環境変数の設定です続行するには何かキーを押してください . . .enter
>
以上で Pear のパッケージをインストール前準備ができました。次は、実際にパッケージをインストールしてみましょう。取り敢えず、pear コマンドとタイプしてみて pear が動作するか試します
>pear
Commands:build Build an Extension From C Source bundle Unpacks a Pecl Package channel-add Add a Channel channel-alias Specify an alias to a channel name channel-delete Remove a Channel From the List channel-discover Initialize a Channel from its server channel-info Retrieve Information on a Channel channel-update Update an Existing Channel clear-cache Clear Web Services Cache config-create Create a Default configuration file config-get Show One Setting config-help Show Information About Setting config-set Change Setting config-show Show All Settings convert Convert a package.xml 1.0 to package.xml 2.0 format cvsdiff Run a "cvs diff" for all files in a package cvstag Set CVS Release Tag download Download Package download-all Downloads each available package from the default channel info Display information about a package install Install Package list List Installed Packages In The Default Channel list-all List All Packages list-channels List Available Channels list-files List Files In Installed Package list-upgrades List Available Upgrades login Connects and authenticates to remote server logout Logs out from the remote server makerpm Builds an RPM spec file from a PEAR package package Build Package package-dependencies Show package dependencies package-validate Validate Package Consistency pickle Build PECL Package remote-info Information About Remote Packages remote-list List Remote Packages run-scripts Run Post-Install Scripts bundled with a package run-tests Run Regression Tests search Search remote package database shell-test Shell Script Test sign Sign a package distribution file uninstall Un-install Package update-channels Update the Channel List upgrade Upgrade Package upgrade-all Upgrade All PackagesUsage: pear [options] command [command-options] <parameters>
Type "pear help options" to list all options.
Type "pear help shortcuts" to list all command shortcuts.
Type "pear help <command>" to get the help for the specified command.
もっともメジャーなパッケージ HTTP_Request パッケージをインストールしてみましょう
>pear install HTTP_Request
WARNING: "pear/Net_URL" is deprecated in favor of "pear/Net_URL2"
downloading HTTP_Request-1.4.2.tgz ...
Starting to download HTTP_Request-1.4.2.tgz (16,398 bytes)
......done: 16,398 bytes
install ok: channel://pear.php.net/HTTP_Request-1.4.2>
この警告メッセージは Net_URL パッケージが Net_URL2 に取って代わられました。と表示される(2007/12/23 現在) と思いますが、Net_URL のサイトを参照するかぎり、バグとセキュリティフィックスのために維持されているようなので、このままでも構いません。が、一応、stable バージョン以外のパッケージのインストール方法を示す為にNet_URL2 (2007/12/23 現在βバージョンです) もインストールしてみましょう
>pear install Net_URL2
Failed to download pear/Net_URL2 within preferred state "stable", latest release is version 0.1.0, stability "beta", use "channel://pear.php.net/Net_URL2-0.1.0" to install
Cannot initialize 'channel://pear.php.net/Net_URL2', invalid or missing package file
Package "channel://pear.php.net/Net_URL2" is not valid
install failed>
どうやら、stable バージョンではないパッケージをインストールすることはパッケージ名を指定してできないので、チャンネル名を指定してインストールしろとの事なので、その様にします
>pear install channel://pear.php.net/Net_URL2-0.1.0
downloading Net_URL2-0.1.0.tgz ...
Starting to download Net_URL2-0.1.0.tgz (5,358 bytes)
.....done: 5,358 bytes
install ok: channel://pear.php.net/Net_URL2-0.1.0
>
Net_URL2 パッケージのインストールが成功しました。インストールされているパッケージの一覧を見てみます
>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: ========================================= PACKAGE VERSION STATE Archive_Tar 1.3.2 stable Console_Color 1.0.2 stable Console_Getopt 1.2.3 stable HTTP 1.4.0 stable HTTP_Request 1.4.2 stable Net_DNS 1.0.0 stable Net_Socket 1.0.8 stable Net_URL 1.0.15 stable Net_URL2 0.1.0 beta PEAR 1.6.1 stable Services_DynDNS 0.3.1 alpha Structures_Graph 1.0.2 stable >
以上で大まかな Pear のセットアップとパッケージのインストール方法は終了です。実際に Pear のパッケージを使用した PHP のサンプルなども記事にしたいと思っています
この記事は foo_custominfo で保存先を SQLite database に設定している事を対象としています。 foo_custominfo(foo_custominfo.dll) と Playback Statistics Custom(foo_playback_custom.dll) を 使っていると、データベースがだんだんと大きくなって、foobar2000 のバージョンアップや 音楽ファイルの移動などでデータベースのメインテナンスが必要となってきますが、 ここではそのデータベースの簡単な保守の方法をメモとして書いておきます
データベースのファイルは foobar2000 のディレクトリの中に custominfo_sqlite.db というファイルがあります。 これを別の場所等にコピーしてバックしておきます。で、このデータベースを操作する為に SQLite Database Browser なるものをダウンロード、解凍します。 SQLite Database Browser を実行して Open Database にて custominfo_sqlite.db を開きます
File メニューから Export > Table as CSV file を実行すると CSV 形式のテキストファイルが生成されるので、 テキストエディタを使用して編集し、同じ様に File メニューから Import > Table from CSV file を 実行するとデータベースに反映されます
custominfo_sqlite.db を定期的にバックアップを取っておけば、大量の音楽ファイルの移動や foobar2000 設定構築の際に Export した CSV ファイルを編集、Import を行えば、レイティング、再生回数などの情報が引き継げます
PHP を最近バージョンアップしたので、その時のインストールメモです
extension=php_mbstring.dll
extension=php_exif.dll
>path c:\php;%path%
>set pathext=.php;%pathext%
>assoc .php=PHP_Script
>ftype PHP_Script="C:\php.exe" "%1" %*
以上で終了ですが、Pear のインストールや Web サーバー(Apache2) との連携に関する事柄は、別の記事にしたいと思います
バージョン 5.2.6 が 2008/05/01 にリリースされたのでここの記事が古くなっていますので、PHP 5.2.6 インストール for Windows を参照してください
日付 | 内容 |
2008/07/06 (土) | リンク先や文面を修正 |
久しぶりの本格的な更新です。ネタはあるんですが、なかなか情報の整理に時間がかかってしまうのが実情です
普段音楽を聴くのに foobar2000 を使用しているんですが、見た目を大幅に変えたので設定メモとして書き残しておく。万が一にも設定情報が飛んだ時に復旧に役立つかと…
foobar2000 は現在(2007/12/18 日現在) のバージョンは 0.9.4.5 ですが、0.9.5 beta というβバージョンもあるのですが、こちらが stable version になってから、見た目を含めた設定の見直しを行おうと思ったんですが、我慢できなくて一新してみました
全てではないですが、使用しているコンポーネント一覧
注意: コンポーネントの日付、バージョン番号等は記事執筆時点のものです
Columns UI をベースにしているのでレイアウトは右の画像の様に設定。Preferences > Display > Column UI > Layout の設定は全てにおいてキャプションを非表示にしている事。Tabbed panel stack mod の中に入れるパネルはお好みで…
Track Display のコード
Single Column Play List (SCPL) の Group Display コード
Row height : 32
Group rows: 3
Single Column Play List (SCPL) の Item Display コード
コードの中で $alignabs の前にあるコメントになっている $drawrect はテキストの描画領域を目視で確認する為に入れてあります
日付 | 内容 |
2008/07/15 (火) | コンポーネントリンク先を修正 |
本日、退院しました。色々と書きたいネタがあるので、整理しつつ順次更新していきたいと思います