• ベストアンサー

phpからlinuxコマンドを実行した場合

phpで質問すればよいのかlinuxで質問すればよいのか微妙なのですが、 phpのexec関数でlinuxにコマンドを複数発行した場合の質問です。 例えば、cmdAとcmdBがあって、cmdBがcmdAに依存している場合(例えばcmdAで生成されたファイルをcmdBで使用するときとか)、下記のようにして、問題なのでしょうか? ---------------- exec(cmdA); exec(cmdB); ---------------- 上記のように連続でコマンドを発行すれば、cmdBはcmdAの処理が終わってから実行されるのでしょうか? 以上、よろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

まぁ実際にやってみれば済む話ですが・・ cmdAがバックグラウンド処理でなければ、非同期処理にならないので cmdAが完了してからcmdBが実行されます でもわざわざ分けなくても、「exec("cmdA;cmdB")」的な処理で十分ですよね

関連する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から外部コマンド実行

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

    • 締切済み
    • PHP
  • PHPからexecを使ってGnuPGを実行できない

    GnuPGをPHPからexec関数を使って実行しようとしていますが、exec関数がエラーになって GnuPGが実行されません。 ただしexec関数に渡すコマンドをコマンドラインから直接打ち込むと正常に実行されます。 具体的には $cmd = "/usr/local/bin/gpg --always-trust --batch --no-secmem-warning -e -a -r ユーザー名 ファイル名のフルパス"; $ret = exec( $cmd, $output, $ret_val ); ここで$retにFALSEが、$ret_valには2が返ってきます。 $cmdのコマンドをコマンドラインから実行すると正常に実行されます。 環境 Apache/1.3.27 (Unix) (Red-Hat/Linux) GnuGP 1.4.6 PHP Version 4.3.11(セーフモードはOff) 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • RunexecでLinuxのmailコマンドを実行したい。

    urizakaです。 現在、多数の人間に対して連絡のメールを、メインの処理(DBに個人データを登録する)とは別にスレッドを立てて送信するという処理をLinux環境で作っております。その際に、Linuxの機能調査も兼ねて(OSをLinuxにして日が浅いもので)java.mailとは別にLinuxのmailコマンドを使って処理が終了したというメールを送りたいと考えている(最終的には、java.mailで使っているsmtpサーバーでトラブルが発生した場合に、Linuxのsendmailでエラー発生メールを管理者に送るという仕組みにする予定です)のですが、そこで詰まってしまいました。  Linuxのコマンドを使う際にはRuntime.exec(コマンド)であり、Linuxでメールを送信する際にはmail -v (送信先のアドレス)である、ということから Runtime.exec(mail -v sample@sample.co.jp); というようなコマンドを付けたのですが、この先をどうして良いのか分からず、またこのまま実行しても、当然ながらエラーが発生します。 Linuxのメール送信コマンドを実行するには、果たしてどうすれば良いのでしょうか? 環境はOS:Linux(Red Hat 7.2) Java : j2sdk1.4.0 Webserver:Apache + Tomcat(4.0.6) です。 宜しくお願いします。

    • ベストアンサー
    • Java
  • コマンド実行の成功有無を知りたい

    現在、PHP上からexec関数を使用してcdrecodのコマンドを 実行させCDを焼く処理を作成しているのですがCD作成の 成功有無を取得しようと思ってもどうすればよいかわかりません。 execでtrueやfalseが取得できれば理想なのですが何か良い方法は ありませんでしょうか?

    • ベストアンサー
    • PHP
  • PHPでl2SWへコマンド

    PHPでL2swへTELNET接続してコマンドを打とうと思います。 たとえば、5行のコマンドを打つとき execコマンドなどで複数行を送ることはできるのでしょうか? SW側では1行ごとに処理があります。 また、teratermなどを起動させて出力させることってスクリプトで 実行できるでしょうか?

    • 締切済み
    • 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でsudoコマンドの実行

    ブラウザからAndroidアプリのプロジェクト作成を可能にしようとしています。 Linux端末もしくわターミナルのroot権限で 「android create project --target ○ --name △ --path /var/../../.. --activity △ --package ■〇△」←「..や〇、△等は適当です(笑)」 というコマンドを実行するとプロジェクトが作成されます。端末、ターミナルでのこのコマンド実行には成功しています。 上記のコマンドをブラウザで実行させようと、まず一般ユーザモードでsudoコマンドでの実行を試みました。 「sudo /home/../../android create project --target ○ --name △ --path /var/../../.. --activity △ --package ■〇△」 というコマンドを実行するとsudoコマンドでもプロジェクトが作成されます。端末、ターミナル内でのこのコマンド実行も成功しています。 次にブラウザからの実行ですが、 ブラウザからphpのsystem関数を用いてsudoコマンドを使ったコマンド実行を試みているのですが、できません。 自分なりに調べて、sudoコマンドに必要なパスを入力不要にし、サイトに書いてあったので、viコマンドで、sudoure内の「Defaults requiretty」に#も追加しました。 ブラウザでphpのsystem関数を用いて上記コマンドの実行は不可能なのでしょうか?

    • 締切済み
    • PHP
  • Linux上で実行関数使用

    Windowsで作成したphpプログラムをLinuxに移動させようとしています。 そのプログラムの中ではC言語で作成したプログラムの実行形式(.exe)をshell_execを使って実行させています。 Linux上で動作させる場合は.outを実行すればよいとはわかるのですが、 どの実行関数を試してみてもパスが通らないか、通っても動作していなor結果が返ってこないようで、全く反応がありません。 .outを単体で実行させた場合は問題なく動作するので、C言語のプログラム上の間違いではないです。 どなたかLinux上で、phpで実行形式を動かす方法を知りませんか?

    • 締切済み
    • PHP
  • PHPからシェルスクリプトを実行

    サーバ:XREA・CORESERVER PHPからシェルスクリプトを実行することは可能ですか? exec関数などがsafemodeでは動かないとのことなので、phpをcgiとして動かしているのですが、 どうもうまくいきません…。 というのも、lsなどのコマンドを実行しても、command not foundになってしまいます。 どなたか分かる方いらっしゃいますか?

    • 締切済み
    • PHP

専門家に質問してみよう