タグ

ブックマーク / www.crosssys.net (2)

  • PHPでバックグラウンド処理をしよう - | Cross System blog

    phpで外部プログラムを実行する方法はここ参照。 バックグラウンド処理とは、1つのプログラムの実行では作業時間のかかりすぎるもの、または重い処理を、別プロセスで外部プログラムを実行することだが、大規模なウェブサービスで膨大なデータベース処理をしたい場合などに頻繁に使われる。 外部プログラムを実行する関数はたくさんあるが、基的にどれを使ったところで構わない。 system("test.php > /dev/null &"); 上記の例ではtest.phpプログラムを実行するわけだが、その実行結果を/dev/nullに出力し、且つ&を付けることで、バックグラウンド処理をするようになる。 /dev/nullに出力されることで、実行結果は無くなり、故にsystem関数で出力される実行結果も出力されなければ、返り値もなくなる。/dev/nullに出力させずにexec関数を用いることも可能だが、ex

  • PHPで外部プログラムを実行しよう - Cross System blog

    phpで外部プログラムを実行する関数は主に3つある。system関数、exec関数、passthru関数の3つ。 他にもproc_open関数などと便利なものもあるが、今回は置いておこう。 それぞれの違いは返り値にあるわけだが、実際にコードを実行して違いを見てみよう。 system関数 PHP: system - Manual http://jp.php.net/manual/ja/function.system.php $dump = system("ls"); var_dump($dump); test1.php test2.php test3.php string(8) "test3.php" system関数はコマンドの実行結果が文字列の形としてそのまま出力され、最後の行の文字列が返り値として返される。 exec関数 PHP: exec - Manual http://jp.

  • 1