”go-pear”でPEARパッケージが検索できなくなった

この記事は次のブログに引っ越しました。

TELNETが使えないロリポップなどで重宝していた、PEARのWeb版パッケージマネージャー"go-pear"ですが、Lolipopサーバー(コロリポ・プラン)で最新のgo-pearをダウンロードしてインストールしたところ、"Package Search"からパッケージを検索してもヒットしない(何も結果に表示されない)ため、PEARパッケージがgo-pear上からインストールできなくなりました。 しかし、右上の"Search package by name"から検索すると表示されます。 もしくは、左下にある"Quick-install a package"から直接パッケージ名を打ち込んでもインストールできます。

簡易改訂版LolipopにGo-Pearをインストールする手順

この記事は次のブログに引っ越しました。

Lolipopのユーザー専用ページから-[Webツール]-[PHP設定]-[そのほか]-[safe_mode]を"On"→"Off"に変更する(後で戻します) Go-Pearの最新をダウンロード&従来通りインストール インストール後、まだGo-PEARの設定画面は開かない インストール先に作成されるindex.php(Go-Pearの設定画面ファイル)の8行目の"$pear_dir = '@pear_dir@';"を"$pear_dir = './PEAR';"に変更する。 Go-Pearの設定画面にアクセスして表示を確かめる 左上の"Search package by name"から検索してパッケージをインストールしてみる 無事インストールできたら、上で設定したセーフモードを戻す。(必要な場合) 【所感】 実は、この挙動はXreaでも薄々感じていたのですが、古いGO-PEAR(Ver.1.1.1)を使ってごまかしていました。 Lolipopでも古いGo-Pearを使ったところ、どうやら古いGo-Pearのインストール時にダウンロードしてくるファイルの場所が変わったらしく"Moved Permanently"エラーが発生してインストール出来ませんでした。 しぶしぶ最新のGo-Pearで試したのですが、インストールは出来ても、やはりパッケージの検索はできず。 ただ、左上の検索窓など、検索する箇所によって検索できるので、単純に検索時のクエリを渡すアドレス(HTMLの記載)に問題があると思われます。 どうせ検証するならと、LolipopではPHP5.3も切り替えて使えるようなので試したところ、ちょびちょびエラーが。5.3以降では非推奨の関数を使っているもよう。 PEARがPEAR2に変わるのと同時にGo-Pearも別のフロントエンドに変わろうとしているようなので、PHP5.3が一般化する前に勉強することが増えたという話なのでした。 Go-PearをPHP5.3.x環境にインストールしようとすると出るエラー Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/users/xx/xxxxxx/web/PEAR/Config.php on line xxxx 【原因】set_magic_quotes_runtime()関数は将来的に動かなくなるという警告です。 【回避方法】ユーザー専用ページからPHPのバージョンを5.2に変更するか、エラーを非表示("display_errors"を"Off")にする。前者がいいと思います。 新しいGo-Pearをインストール後、そのままGo-Pearの設定画面を開いた場合に出るエラー Fatal error: No PEAR.php in supplied PEAR directory: @pear_dir@ in /home/users/xx/xxxx/web/PEAR/index.php on line 24 【原因】パスが"@pear_dir@"に設定されていて、PEAR.phpが読みに行けていない。 【回避策】Go-Pearの管理画面となるindex.phpの8行目を変更する。 ?php /** * Put this file in a web-accessible directory as index.php (or similar) * and point your webbrowser to it. */ // $pear_dir must point to a valid PEAR install (=contains PEAR.php) // $pear_dir = '@pear_dir@'; // default of install $pear_dir = './PEAR'; // ←のようにパスを変更 古いバージョンのGo-Pearを使ってインストールすると表示されるエラー Warning: putenv() [function.putenv]: Safe Mode warning: Cannot set environment variable 'TMPDIR' - it's not in the allowed list in /home/users/xx/xxxxxx/web/_lib/go-pear.php on line 1273 Warning: putenv() [function.putenv]: Safe Mode warning: Cannot set environment variable 'TMPDIR' - it's not in the allowed list in /home/users/xx/xxxxxx/web/_lib/go-pear.php on line 1266 Starting installation ... Loading zlib: ok Bootstrapping Installer................... Bootstrapping PEAR.php............(remote) Moved Permanently The document has moved here. Apache/2.2.16 (FreeBSD) mod_ssl/2.2.19 OpenSSL/1.0.0d DAV/2 PHP/5.2.10 SVN/1.6.17 Server at cvs.php.net Port 80 ok Bootstrapping Archive/Tar.php............(remote) Moved Permanently The document has moved here. Apache/2.2.16 (FreeBSD) mod_ssl/2.2.19 OpenSSL/1.0.0d DAV/2 PHP/5.2.10 SVN/1.6.17 Server at cvs.php.net Port 80 ok Bootstrapping Console/Getopt.php............(remote) Moved Permanently The document has moved here. Apache/2.2.16 (FreeBSD) mod_ssl/2.2.19 OpenSSL/1.0.0d DAV/2 PHP/5.2.10 SVN/1.6.17 Server at cvs.php.net Port 80 ok Fatal error: Class 'PEAR' not found in /home/users/xx/xxxxxx/web/_lib/go-pear.php on line 690