Brad Fuller wrote:
> Daniel Brown wrote:
>>     This way just lets it do it's own thing, with no output, and PHP
>> won't hang.  It'll continue from the CLI after the HTTP session is
>> over. 
>> 
>> <?
>> exec('php test.php > /dev/null 2>&1 &'); ?>
>> 
>> 
>> On 5/1/07, Brad Fuller <[EMAIL PROTECTED]> wrote:
>>> 
>>> 
>>> I found this on PHP.net:
>>> 
>>> http://us.php.net/manual/en/function.exec.php
>>> 
>>> Note: If you start a program using this function and want to leave
>>> it running in the background, you have to make sure that the output
>>> of that program is redirected to a file or some other output stream
>>> or else PHP will hang until the execution of the program ends.
>>> 
>>> 
>>> This is what I want... I want to execute another PHP script from the
>>> CLI, pass it a parameter and let it go to town after the HTTP
>>> request closes. 
>>> 
>>> Can someone please illustrate how I can make this work?
>>> 
>>> Thx,
>>> 
>>> Brad
>>> 
>>> --
>>> PHP General Mailing List (http://www.php.net/) To unsubscribe,
>>> visit: http://www.php.net/unsub.php
> 
> 
> It seems the script is calling itself even though I'm
> specifying a different script to run...
> 
> test2.php
> 
> <?php echo "Hello, World!"; ?>
> 
> 
> test1.php
> 
> <?php
>       if( !isset($_POST['account_id']) ||
> $_POST['account_id'] == "" ) {
>               echo "account_id is required.";
>               exit;
>       }
> 
>       // more stuff here...
> 
>       exec("/usr/bin/php -q /path/to/test2.php", $output); // should run
> test2.php 
> 
>       echo "<pre>";
>       print_r($output);
>       echo "</pre>";
> 
>> 
> 
> 
> http://www.example.com/test1.php
> 
> Expected Result:
> 
> Array
> (
>     [0] => Hello, World!
> )
> 
> 
> Actual Result:
> 
> Array
> (
>     [0] => X-Powered-By: PHP/5.2.1
>     [1] => Content-type: text/html
>     [2] =>
>     [3] => account_id is required.
> )
> 
> Can anyone explain this and possibly help me find a solution?
> 
> Thx,
> 
> Brad

P.S. I am posting a form to the test1.php page with a valid account_id etc.;
after re-reading the message I thought someone might think it's printing
that result because nothing is posted.

Update:

I also found a file called "error_log" in the folder where test2.php
resides, full of several of these lines:

[01-May-2007 14:12:52] PHP Warning:  Zend Optimizer does not support this
version of PHP - please upgrade to the latest version of Zend Optimizer in
Unknown on line 0

Could that have something to do with why the script is calling on itself
instead of running the specified php script?

I recently had the hosting company rebuild PHP, first they did
--enable-suexec (to run PHP as CGI) and then later rebuilt again to
--enable-pcntl and --enable-sigchild, as I thought I would be needing that
functionality.  Did that break the CLI?

Please help, Thx.

Brad

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to