Re: CLI script & exec() - how to control what gets dumped on the screen.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stut wrote:
> Jochem Maas wrote:
>>  I have been trying to figure out how to use exec to run some
>>  commandline scripts (some perl scripts & mysql in this case) WITH the
>>  output of the commands run via exec being shown on the screen.
>>
>>  neither of these examples have the desired effect:
>>
>>  $output = array(); $exit = 0; exec('apache2ctl graceful', $output,
>>  $exit);
>>
>>
>>  $output = array(); $exit = 0; @exec('apache2ctl graceful', $output,
>>  $exit);
>>
>>  please someone tell me there is a decent way to do this (something to
>>  do with STD input/output redirection or something?) and that I'm not
>>  left with trying something like:
>>
>>  ob_start(); $output = array(); $exit1 = $exit2 = 0; @exec('apache2ctl
>>  graceful', $output, $exit1); ob_end_clean();
>>
>>  ... of which I don't even know if it would work.
>>
>>  anyone care to share their clue?
> 
> Chances are that the output is being sent to stderr instead of stdout.
> You need to redirect stderr output to stdout in the command...

you are absolutely right - I fnid it strange that so many commandline apps
stick their 'normal' output to stderr  (like I said to Edward: "how is
'Syntax OK' in any way to be considered an error?").

oh well at least now I no how to handle the issue - and I'll be sticking rhe
'2>&1' after ever command sent to the shell via exec() from now on :-)

thanks for your help.

> 
>    exec('apache2ctl graceful 2>&1', $output, $exit);
> 
> Also, in my experience it's better to provide the full path to anything
> you shell out to from PHP, especially if it's going to be executed from
> a web request.

I just read the same advice in the manual. :-)

but there no web-request involved here (and I want to keep the script as portable as poss.)
it's actually a custom CMS installer for a mini CMS thang I wrote ... (it needs
to restart the webserver after an install is complete)


> 
> -Stut

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux