通常redhat系のサーバではpearパッケージは/usr/share/pearにインストールされます。
まず、自分のユーザIDでログインして
# pear
と実行してみてください。
コマンドが表示されれば使えるかもしれません。
エラーがでたら使えません。
コマンドが表示されても使えないことが多いです。
PLESKをサーバ管理に使っているレンタルサーバだとPHPのpearが実行できない例が多いですが、これはapacheがsuexecで動作しているからです。
この設定がバーチャルサーバのルートディレクトリにあるconfディレクリトリのhttpd.includeファイルにあります。
httpd.includeのなかでSuexecUserGroup項目にUser Groupを指定してあり、pearディレクトリにそのユーザに実行権限を与えていないために起きます。
このディレクトリはroot権限でしか書き換えができないのでユーザは変更できません。
いくらphp.iniのinclude_path = ".:/usr/share/pearと書いてあっても実行できません。
suexecの詳しい解説はここにあります。
例えば、Calendarパッケージを使いたい場合
require_once '/usr/share/pear/Calendar/Month/Weekdays.php';
としても下記の様なエラーがでて実行できません。
エラー例
Warning: main(): open_basedir restriction in effect. File(/usr/share/pear/Calendar/Month/Weekdays.php) is not within the allowed path(s): (/home/httpd/vhosts/HOGEHOGE.COM/httpdocs:/tmp) in /home/httpd/vhosts/HOGEHOGE.COM/httpdocs/test/cal.php on line 2
Warning: main(/usr/share/pear/Calendar/Month/Weekdays.php): failed to open stream: 許可されていない操作です in /home/httpd/vhosts/HOGEHOGE.COM/httpdocs/test/cal.php on line 2
Fatal error: main(): Failed opening required '/usr/share/pear/Calendar/Month/Weekdays.php' (include_path='.:/usr/share/pear') in /home/httpd/vhosts/HOGEHOGE.COM/httpdocs/test/cal.php on line 2
これを回避するためにはバーチャルドメインのルートディレクトリにpearパッケージを置く必要があります。
この例の場合だと
/home/httpd/vhosts/HOGEHOGE.COM/httpdocs
の下にCalendarパッケージをディレクトリごと置きます。
そして
ini_set ("include_path",".:/home/httpd/vhost/HOGEHOGE.COM/httpdocs");
require_once 'Calendar/Month/Weekdays.php';
として呼び出せば実行できます。