WEBからののPEARインストール
以下の質問を見て、ちょっといじってみました。
http://q.hatena.ne.jp/1324957466
結果としては、go-pear.phpにちょっと手を加えて、CoreServerでのWEBからのPEARのインストールが可能になりました。
変更したものを、
http://test.fr-soft.com/files/go-pear.phps
に置きました。このファイルをダウンロードして、go-pear.phpとリネームして使ってもらえれば動くと思います。
中身に興味がない人はここまで読んで、頑張ってください。
では、何をしたか?
パッチも、
http://test.fr-soft.com/files/go-pear.patch
として置いておきますが、一番の原因は、http://q.hatena.ne.jp/1323623815 のコメントで、rouge_2008さんがおっしゃっていることそのままです。
go-pear.phpの115行目以降で定義している「http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/PEAR.php」にアクセスできない為、発生しているエラーのようです。
「http://svn.php.net/viewvc/pear/pear-core/」が空になっています。アクセスして確認してみてください。
※他に「http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/Console/Getopt.php」が必要ですが、こちらもありません。
調べてみると、pear-coreのソース管理は、php.netのSVNではなく、GitHubに移行したみたいです。
https://github.com/pear/pear-core
そんな訳で、上記のダウンロードするURLをGitHubのものに書き換えてあげました。
つまり、
http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/PEAR.php
ではなく、
https://raw.github.com/pear/pear-core/master/PEAR.php
です。
これで動くかと思いきや、go-pear.phpの中でファイルをダウンロードしている関数が、httpsに対応していない模様。作ったパッチはここが結構いい加減なのですが、fopen_wrappersが有効だと仮定して、file_get_contentsでダウンロードさせてしまいました。もし、fopen_wrappersが無効な環境ではこの部分を手を加える必要があります。
Console/Getopt.phpは、SVN内で管理されているものの場所が変ったみたいですね。
http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/Console/Getopt.php?view=co
を
http://svn.php.net/viewvc/pear/packages/Console_Getopt/trunk/Console/Getopt.php?view=co
と書き換えて終了。
さて、これで必要なファイルもダウンロードできて完璧かと思ったら、PEAR5がないとおっしゃる。
という訳で、こいつもダウンロードするファイルのリストに追加してやりました。
以上で、動作するようになりました。
しかし、大した変更ではないにしろ、PEAR5.phpがないとか、GitHubに管理場所変わってるのに対応してないとか、まともにgo-pear.phpは管理されてない感じですね。
2012/05/18追記:
coffeさんからのご指摘頂きましたように、Archive_Tarもgithubに管理を移行した模様です。
http://test.fr-soft.com/files/go-pear.phps
も動作するように書き換えました。