#18707 [Opn->Bgs]: Can't run PHP script in background from a PHP CGI script?
| From: | sander@php.net | Date: | Fri, 02 Aug 2002 14:45:41 +0000 |
| Subject: | #18707 [Opn->Bgs]: Can't run PHP script in background from a PHP CGI script? | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-15829@lists.php.net to get a copy of this message | ||
ID: 18707
Updated by: sander@php.net
Reported By: scottg@particle.net
-Status: Open
+Status: Bogus
-Bug Type: Unknown/Other Function
+Bug Type: Program Execution
Operating System: Linux 2.2.20
PHP Version: 4.2.1
New Comment:
You should redirect stdin too. The following example returns
_immediately_:
system("sleep 10 </dev/null >/dev/null 2>/dev/null &");
Previous Comments:
------------------------------------------------------------------------
[2002-08-02 10:18:12] scottg@particle.net
This is the strangest thing in the world and I have no idea why it
happens. I'm using Linux 2.2.20 with PHP 4.2.1. I have PHP compiled
in as a module and I have an external PHP binary for CGI work.
I want bg.cgi to run in the background.
start.cgi:
#!/usr/php/bin/php -q
<?
system("/usr/php/bin/php -f /somepath/bg.cgi >>/dev/null 2>>/dev/null
&");
echo "Ok!\n";
?>
bg.cgi:
#!/apps/php/bin/php -q
<?
sleep(5);
mail ("scottg@nospam.com", "Test Subject", "Test Message");
?>
I run start.cgi with the brower like a normal cgi script -
http://www.whatever.com/start.cgi. The web page says
Ok! like it
should. In the background now I have a bg.cgi process but its going
crazy. It dies and restarts repeatedly. It gots on for about 1 minute
then gives up. The process number increases with each new bg.cgi
process. Only one bg.cgi process every exists though. Strangest thing
ever. I never do get the email message bg.cgi is suspose to send.
If I run start.cgi from the command prompt all is well, only one bg.cgi
runs fine and I get the email after 5 seconds.
Anyone know why bg.cgi runs crazy if called like this?
Oh ya, if I had a start.php:
<html>
<? system("/apps/php/bin/php -q -f /home/scottg/web/run/bg.cgi
>>/dev/null 2>>/dev/null &"); ?>
</html>
and just viewied it in the browser so that the php module runs bg.cgi
all works fine too.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18707&edit=1