人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP Windows 版で 外部プログラムを実行したいと考えています。

具体的には 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 のセキュリティレベルを下げる、などの方法はなしということで・・・

●質問者: yoski
●カテゴリ:コンピュータ インターネット
✍キーワード:CGI Dir DoS IIS PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tadashi0805
●60ポイント

dirコマンドは、コマンドプロンプトの内部コマンドなので、PHPのexec()などで、そのままでは使えないと思います。

コマンドを、

command.com /c dir ディレクトリ名

にしてもダメでしょうか?

◎質問者からの返答

うーん、難しいです。

Warning: exec() [function.exec]: Unable to fork [command.com /c dir (ディレクトリ名)...

shell_exec() も同様です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ