View Full Version : Problem with popen

01-03-2004, 08:54 PM
I am having some problems with the popen function. I am trying to execute another php script using the popen function. The code i have written works ok (without error reporting) as I have tested it via the command line and it works fine. When using it via the command line e.g. 'php test.php' the output is successfully displayed on the screen, but when I execute test.php via my web browser, the output is not displayed. I have a feeling it's something to do with buffering, but I do not understand how it works. The code for the file 'test.php' is shown below:


$pipe = popen("php -f simpletest.php", "r");
$data = fread($pipe, 1024);
echo $data;


Any help with this matter would be most appreciated.

Many Regards,
Ben Chivers

01-04-2004, 03:16 AM
have you tried simply exec()ing the script... unless your script is going to take a long time to run you maybe do not need popen

exec( "php -f simpletest.php", $yaks ) ;
print_r( $yaks );

or you can get error messages as well (on *nix)

$pipe = popen("php -f simpletest.php 2>&1", "r");

also with any type of shell script always use the pull path when testing as is takes away any uncertainty , e.g.

exec("/usr/local/bin/php -q -f /home/user/scripts/blah.php 2>&1");