• 締切済み

IIS + PHP からのWindowsコマンド実行について

IIS + PHP からのWindowsコマンド実行について IIS+PHPの環境を用いて、ディスククォータの使用率を表示したいと考えています。 そこで、テストとして下記のスクリプトを実行しましたが、dir の実行結果は表示されましたが、dirquotaの実行結果が表示されませんでした。 また、コマンドプロンプトからphp.exe test.phpを実行しましたが同様です。 もちろん、コマンドプロンプトからdirquotaを実行すれば正しく稼働し表示されます。 Listの代わりにaddを使ってもコマンドが実行された気配がないので「表示されない」より「実行されない」のかと考えていますが、dirコマンドとdirquotaコマンドに違いがあるのでしょうか。 == test.php ============= <pre> <?php passthru("dir"); passthru("dirquota quota list d:\\"); ?> </pre> ========================= 【 環境 】 OS : Windows 2008 Server PHP: 5.3(セーフモードOFF)

  • Fakes
  • お礼率7% (1/13)
  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • andes-do
  • ベストアンサー率0% (0/1)
回答No.1

実行演算子(backtick 演算子)つかってみてはどうでしょう? == test.php ============= <pre> <?php $output = `dir`; $output = $output . `dirquota quota list d:\\`; echo $output; ?> </pre> =========================

参考URL:
http://www.stackasterisk.jp/tech/php/searchAction.do?cid=9
Fakes
質問者

補足

ご回答ありごとうございます。 実行してみましたが、結果は変わりませんでした。 コマンドで実行できるプログラムに実行可能なものと不可能なものがあるのでしょうか。

関連するQ&A

  • phpからlinuxコマンドを実行したい

    CentOS6で test.phpを作成しました。 <?php $buf = ''; exec("yum list installed | grep php | cut -d' ' -f1", $buf);   var_dump($buf[0]); ?> コマンド:php test.php を実行したのですが、実行結果が帰ってきません。 (当然phpをインストールしているので、パッケージは導入されています。) 多分「’」がうまく機能してないのだと思うのですが、 どのように記述すればコマンドの実行結果が表示されるのでしょうか ご教授お願いします。

  • PHPで外部アプリケーションを操作するには?

    外部コマンドを使ってもずっと読み込み中になります。wget以外のアプリもいきません。 wgetはパスを通しています。 以下を実行するとずっと読み込み中になります。PHPのエラーはでません。 passthru('wget http://weather.is.kochi-u.ac.jp/FE/00Latest.jpg',$ret); var_dump($ret); 普通のコマンドプロンプトのコマンドは実行されます。 以下は実行されます。 passthru('dir',$ret); var_dump($ret); 外部アプリはコマンドプロンプトから実行すると正常に動作します。 外部アプリをPHPから操作するにはどうしたらいいのでしょうか? ご存じの方いらっしゃいましたらご教授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • コマンドラインからPHPを実行するには。(Windows)

    PHPスクリプトをコマンドライン上で実行しようと思い、 >php bookread.php と入力したところ、 >'cdc:\' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示されてしまいます。 おそらく環境変数の問題か、もしくは実行しようとしたディレクトリがいけないのかと思いますが、どうしたらよいのかわかりません。 Windowsで、OSはwinXP、また、phpはxamppで取得しました。 実行しようとしたファイルbookread.phpは c:\xampp\htdocs\_test というフォルダの中にあります。 どのディレクトリに移ってから行えばよいのか、もしくは環境変数にどう書き加えればよいのか、教えてください。 私が実行を試したディレクトリは、 c:\xampp\htdocs\_test> と c:\> です。 (ブラウザ上で他のPHPスクリプトを実行することは可能です。)

    • 締切済み
    • PHP
  • PHPからシェルコマンドの実行

    PHPからシェルコマンドを実行したいのですが SSHやSCPコマンドが使えません。 phpからlsなどは問題なく実行できます。 具体的には以下のように書いています。 `scp test.log user@host:/home/hoge`; shell_exec()を使っても実行されませんでした。 環境は以下のとおりです。 PHP 5.4.17 CentOS 5.8 sshやscpコマンドをphpから実行するには何か特別な方法が必要なのでしょうか。 ご存知の方、教えてください。

    • ベストアンサー
    • PHP
  • PHPでコマンドプロンプトを実行できる?

    PHPでコマンドプロンプトを実行できるのでしょうか? 例えば、pingなど。 OSはWindows XPを使っています。よろしくお願いします。

    • ベストアンサー
    • PHP
  • IIS 5.2 上での PHP 5.3.5 の実行

    下記サイトを参考にサーバー(OS: MS Small Business Server & IIS 5.2) に PHP 5.3.5をインストールしました。 http://network.station.ez-net.jp/server/microsoft/windows/2008/iis7_php535.asp Command Line で PHP -v と入力すると正常にバージョンが返ってくるので PHP のインストールそのものは正常に終わったと考えていますが、 PHP の実行が出来ません。 例えば中身が <?php phpinfo(); ?> という内容のテストプログラムを他の cgiプログラムと同じフォルダに置き、ブラウザでアクセスしても動作しないのです。 IIS: WEB サイト→プロパティ→ホームディレクトリ→構成 の 拡張子 .php の設定は "C:\Program.Files\PHP\php-cgi.exe" としました。勿論 exe ファイルは上記パスで指定したフォルダに存在します。 XAMPP というパッケージソフトを使用し、PCのLocal Hostをサーバーに見立てて PHPを実行する事は出来ます。 この環境で作成した PHP をサーバー上で稼動させ、外部に公開したいのです。 初歩的なところで躓いているのだと思います。 PHPに詳しい方、教えて下さい

  • Eclipseで実行できてコマンドプロンプトで実行できない

    最近Windowsパソコンを購入して、Javaを勉強し始めているものです。昨日まではコマンドプロンプトでもjavaコマンドが実行できていたのですが、本日実行してみると、 Exception in thread "main"java.lang.NOClassDefFoundError: と出てきてしまいます。Eclipseではコンソール画面に結果が表示されるのですが、コマンドプロンプトではエラーになってしまいます。環境変数のPATHの設定も問題ないようなのですがどうしたらよいのでしょうか?

  • ShellExecuteでDOSコマンド実行したら...

    VC++6.0においてShellExecuteでDOS窓をたち上げてコマンドを 実行したいのですが、うまくいきません。 1.ShellExecute(m_hWnd,"open","command.com","dir",NULL,SW_SHOW); ...とすると”指定された COMMAND 検索ディレクトリが違います.”となり、 なにも実行されません。 2.ShellExecute(m_hWnd,"open","command.com","dir /?",NULL,SW_SHOW); ...とするとちゃんとdirのヘルプが表示されますが、すぐに窓が閉じます。 3.ShellExecute(m_hWnd,"open","command.com","dir /? > out.txt",NULL,SW_SHOW); ...としてもファイルが作られず、2.と全く同じ結果になってしまいます。 これはどうしてこのような現象が起きるのでしょうか? DOSプロンプトをたち上げて同様なコマンドを実行した場合はちゃんと期待通りの結果が得られます。 あと、DOS窓が閉じないようにするにはどうすればいいのでしょうか?

  • phpから外部コマンド実行

    今、phpで <?php system('ls -al'); ?> ”ls -al" のシェルコマンドを実行しようとしてるのですが、うまくいきません。 自分なりに調べたところ、system関数やexec関数はセーフモードにより制限されていると分かり、php.iniの「safe_mode =」や「safe_mode_exec_dir = 」の部分を編集し実行してみたのですが、やはりブラウザが真っ白で、どうしてもsystem関数が動いていない気がします。 色々ネットや本で調べてはみたんですが、原因が分かりません。 大変基本的な事だとは思うんですが、詳しい方がいれば教えていただけないでしょうか。お願いします。

    • 締切済み
    • PHP
  • VBS実行時にコマンドプロンプトが表示される

    VBSを実行したときにコマンドプロンプトが表示されてしまいます。 非表示にすることはできませんか? 単純にIF文で結果をpopupで表示させるだけなのですが。 (結果のpopupは表示されますがコマンドプロンプトも後ろで表示されている状態になってしまいます)

専門家に質問してみよう