Re: Weird behavior of exec()

From: Date: Fri, 16 Jul 2010 12:09:01 +0000
Subject: Re: Weird behavior of exec()
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-306941@lists.php.net to get a copy of this message
On 15 July 2010 16:51, Leonardo <leobasilio@oi.com.br> wrote: > Hi everybody. I need to use exec() to run a background php script, but it's > not working properly. Take a look at this sample: > > a.php >   <? > >   echo ' File A (1) '; > >   exec('php b.php > output.txt &'); > >   echo ' File A (2) '; > >   ?> > > b.php >   <? > >   echo 'File B'; > >   ?> > > output.txt (begins with 64 null bytes before the following) >    File A (2) > > I would expect the output's content to be "File B", but it's not happening. > I came across this problem because I have a mailing application which > stopped working after being moved to a new host. The messages were sent by a > background script launched on user's demand. Like this: > > SendMessages.php >   <? >      ... >      exec('php Daemon.php -x ' . $USERID . ' > /dev/null &'); >      ... >   ?> > > Now it won't work, and I got no clue about what's going on. What now? > > Thank you. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > I'm on Windows XP SP3 and using PHP 5.3.3RC3 (cli) (built: Jul 15 2010 02:00:11) Copyright (c) 1997-2010 The PHP Group All seems to work as expected. <?php // TestA.php echo ' File A (1) '; exec('C:\\php5\\php.exe -f Z:\\TestB.php > Z:\\output.txt'); echo ' File A (2) '; ?> <?php // TestB.php echo 'File B'; ?> And because of my setup matching the docs at [1], I can actually use ... <?php echo ' File A (1) '; exec('TestB > output.txt'); echo ' File A (2) '; ?> as long as TestA.php and TestB.php are in the same directory. So, initially, this looks like a non win32 issue (windows works - see !!!) Regards, Richard Quadling. [1] http://docs.php.net/manual/en/install.windows.commandline.php

« previous php.general (#306941) next »