ご返事ありがとうございます。
絶対パスで指定してみたのですが、結果は同じでした。
exec("C:\PHP\pear.bat list", $output);
ここでふと気になって存在しない名前を指定して実行してみるとやはり空の配列が
返ってきました。多分、pearコマンドが認識されていないのだと思いますが、パスが
通っているためコマンドラインからはどこのディレクトリにいてもパス無しで実行する
ことができます。
>ちなみにbashであれば、
>exec("pearpath=`which pear`; $pearpath list", $output);
環境はWindows+IISですのできっとこれは書き換えが必要になりますね。調べて
みます。