具体的には PHP を実行しているディスク(パーティション)の残容量を取得したいだけなのですが、プロセスの制約(Unable to fork という PHP のエラーが出力される)で exec や shell_exec は使えません。
#Dos プロンプトで dir "(PHPのファイル名)" を実行すればいいだけなんですが・・・
代わりに COM クラスが使えそうなのですが、
$com = new COM("WScript.Shell");
$ret = $com->Run("dir");
などやってみても CGI Timeout になってしまいます。
Windows XP Pro SP2 + IIS + PHP 5 です。
外部プログラムを実行せずディスク残容量が取れる方法があればそれでもかまいません。
参考となる方法など教えてください。
※IIS のセキュリティレベルを下げる、などの方法はなしということで・・・
dirコマンドは、コマンドプロンプトの内部コマンドなので、PHPのexec()などで、そのままでは使えないと思います。
コマンドを、
command.com /c dir ディレクトリ名
にしてもダメでしょうか?
うーん、難しいです。
Warning: exec() [function.exec]: Unable to fork [command.com /c dir (ディレクトリ名)...
shell_exec() も同様です。