Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Jan 2004
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Problem with popen

    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:

    <?php

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

    ?>

    Any help with this matter would be most appreciated.

    Many Regards,
    Ben Chivers

  • #2
    Super Moderator
    Join Date
    May 2002
    Location
    Perth Australia
    Posts
    4,044
    Thanks
    10
    Thanked 93 Times in 91 Posts
    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

    <?php
    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");
    resistance is...

    MVC is the current buzz in web application architectures. It comes from event-driven desktop application design and doesn't fit into web application design very well. But luckily nobody really knows what MVC means, so we can call our presentation layer separation mechanism MVC and move on. (Rasmus Lerdorf)


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •