- 2009-04-27 (月)
windowsへのpearのインストール方法
インストーラ(go-pear)はphp5についているので
phpのフォルダ内のgo-pear.batを実行するだけです。
php5.2.0の場合はバグがあってインストールできません
上記を実行してもこのようなエラーがでたりします。
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268
Preparing to install…
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar…
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar…
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar…PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2334
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2338
Could not get contents of package “”. Invalid tgz file.
Cannot initialize ‘phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.t
ar’, invalid or missing package file
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2334
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2338
Could not get contents of package “”. Invalid tgz file.
Cannot initialize ‘phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.
tar’, invalid or missing package file
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2334
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archi
ve/Tar.php on line 2338
Could not get contents of package “”. Invalid tgz file.
Cannot initialize ‘phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar’, i
nvalid or missing package file
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command/Install.php on line 427
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command/Install.php on line 427
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command/Install.php on line 427
PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command/Install.php on line 429
php\PEAR のgo-pear.phar がよろしくないので
go-pear.phar
こちらから最新版をダウンロードして上書きしてください。
その後 php\go-pear.batを実行します。
このバグはPHP5.2.0(2006年11月2日リリース)に含まれていたgo-pear.pharファイルが壊れていたためで
5.2.1以降は修正されています。
昔入れたphpにPEARインストールしようとしていたりするとハマります(ハマった)。
バグに関して
- ‘[PEAR-DEV] go-pear Broken on 5.2 on Windows’ - MARC
- PHP Bugs: #39733: PEAR installation errors due to wrong go-pear.phar file
- Bug #9534 :: PEAR installation errors (pearのサイト)
その他,PEARのインストールについて詳しくは
- installing PEAR on windows XP with php 5.2.x ? Information for Technology
- How to: Install Apache, PHP, PEAR, MySQL & phpMyAdmin for Windows XP
- PHP5.0/6.PEARのインストール - Ground-SunLight
その他多くの分かりやすいサイトがたくさんありますのでご参照ください。
と思ったら今度はパッケージのインストールができない
他で解説されているように
pear install <パッケージ名>
などコマンドを実行しても
C:\php>pear install Pear_Info
pear.php.net is using a unsupported protocal - This should never happen.
install failed
などと言われ失敗します。
ダウンロード可能なリストを要求しても
C:\php>pear remote-list
WARNING: channel “pear.php.net” has updated its protocols, use “pear channel-upd
ate pear.php.net” to update
(no packages available yet)
となります。
とりあえず
use “pear channel-update pear.php.net” to update
とのことですので
pear help
で表示されていた
pear update-channels
を実行してみます。
C:\php>pear update-channels
Updating channel “doc.php.net”
Update of Channel “doc.php.net” succeeded
Updating channel “pear.php.net”
Update of Channel “pear.php.net” succeeded
Updating channel “pecl.php.net”
Update of Channel “pecl.php.net” succeeded
となりまして
パッケージのインストールその他もろもろのpear.php.netとの通信が可能になりました。
ところでPEARのパッケージは事前に別のパッケージがインストールされていることが前提となっているものも多いです。
その場合は
pear install -a <パッケージ名>
としてみましょう。
-a オプションをつけることにより必要な全てのパッケージをインストールしてくれます。
たとえば HTTP_Client はHTTP_Requestが必要で,HTTP_Requestも Net_URLとNet_Socketが必要ですので。
HTTP_Clientをインストールする際は
pear install -a HTTP_Client-1.2.1
としましたならば
C:\php>pear install -a HTTP_Client-1.2.1
WARNING: “pear/HTTP_Request” is deprecated in favor of “pear/HTTP_Request2″
WARNING: “pear/Net_URL” is deprecated in favor of “pear/Net_URL2″
downloading HTTP_Request-1.4.4.tgz …
Starting to download HTTP_Request-1.4.4.tgz (17,109 bytes)
…..done: 17,109 bytes
downloading Net_URL-1.0.15.tgz …
Starting to download Net_URL-1.0.15.tgz (6,303 bytes)
…done: 6,303 bytes
downloading Net_Socket-1.0.9.tgz …
Starting to download Net_Socket-1.0.9.tgz (5,173 bytes)
…done: 5,173 bytes
install ok: channel://pear.php.net/Net_URL-1.0.15
install ok: channel://pear.php.net/Net_Socket-1.0.9
install ok: channel://pear.php.net/HTTP_Request-1.4.4
install ok: channel://pear.php.net/HTTP_Client-1.2.1
となります。
- 次の記事: windowsXPに入れたapache2とphp5でsqlite3を使いたい
- 前の記事: PDFをJPEGに変換する
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://reoto.com/archives/238/trackback/
- Listed below are links to weblogs that reference
- PEARをインストールしたい(windowsXP , apache2.2 , php5.2) from ぼんずーず