本篇全文出自:第二十四個夏天后


明明 PHP 就是常常搭配 Apache HTTP Server 透過瀏覽器直接執行的程式語言,那為什麼又需要用到背景執行呢?

這個理由是因為我把 PHP 當作像 Perl 、bash、csh 等 script 語言來使用,然而,當這個 script 需要花費大量的時間處理時,背景執行就是個不錯的選擇。

我以為寫一個小網頁用 shell_exec( '/usr/local/bin/php /tmp/test.php &' ); 的方式就能搞定,但試了很久並沒有那種效果,最後我發現必須把輸出導向才行!

  • shell_exec( '/usr/local/bin/php /tmp/test.php > /tmp/cmd_out &' );

另外,也可以直接用 ` 來執行

  • `/usr/local/bin/php /tmp/test.php > /tmp/cmd_out &`

至於 Windows 上則是可以使用類似下面的方式

  • pclose(popen("start /B C:\php\php.exe > C:\temp\out", "r") );

看來我寫的程式架構又可以再更新一下了!

創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(0) 人氣()