[PHP-users 32579] Windowsでバックグラウンド実行

Hisashi Mizuno hisashi_mizuno @ newson.co.jp
2007年 9月 3日 (月) 16:31:44 JST


旧聞で恐縮ですが、わかりました。

わたしの参考書[PHPスーパーリファレンス](秀和システム)P82に
のっていました。(すみません _( )_ )

[waitTest.php]
<?php

 $fp= popen('start /B cmd /c "sl20.bat"',"r");

 if( !$fp ) die("Can't exec");

  pclose($fp);

 print("BackGround Process already Done.");

?>

 上のようなスクリプトで sl20.bat の中身は sleep.exe  20
で、20秒待ちにしましたが、すぐに実行してブラウザに
文字列を表示しました。
 遅きに失したとは思いますが・・・・・

----- Original Message ----- 
From: "Hayashi Taro" <forml @ hotmail.co.jp>
To: <php-users @ php.gr.jp>
Sent: Wednesday, September 27, 2006 10:42 AM
Subject: [PHP-users 30430]Windowsでバックグラウンド実行


> 初めまして。林と申します。
>
> Windows環境において、バックグラウンドでバッチとして
> phpを実行するための手段を探しております。
>
> unix環境では、
> $cmd = "/usr/local/bin/php xxx.php >> xxx.log 2>&1 &";
> shell_exec($cmd);
>
> てな感じで実現できますが、これをwindows環境で実現したいのです。
>
> ネット等で調べ、つくったサンプルは以下です。
> http://localhost/aaa.php を実行すると、
> sleep(10) が終わるのを待ってから、ブラウザに"OK"が
> 表示されます(待たずに"OK"を表示させたい)。
>
> 環境は以下のとおりです。
> OS: Windows Server 2003
> Apache: 2.0.59
> PHP: 5.1.6
>
> よろしくお願い致します。
>
> =========================================
> aaa.php (bbb.batを起動)
> =========================================
> <?php
> $cmd = '"C:\Program Files\Apache Group\Apache2\htdocs\bbb.bat" 2>&1 &';
> shell_exec($cmd);
> echo "OK!";
> ?>
>
>




PHP-users メーリングリストの案内