RE: Catch STDERR

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

 



Hi Steve,

Yes that would be an option. But then I need to put the username and
password (alternativly ssh2_auth_hostbased_file). Hrm, will think about it
for a while. I might try it out.

My speed requirements aren't really restricted as it is run on a local
network and no dense traffic.

I will either use this or redirect STDERR to a file and read it from there.

Best regards,

Best regards,
Peter Lauri

www.dwsasia.com - company web site
www.lauri.se - personal web site
www.carbonfree.org.uk - become Carbon Free




-----Original Message-----
From: steve [mailto:iamstever@xxxxxxxxx] 
Sent: Wednesday, February 21, 2007 7:17 AM
To: Peter Lauri
Cc: ceo@xxxxxxxxx; php-general@xxxxxxxxxxxxx
Subject: Re:  Catch STDERR

What are your speed requirements? You can use the ssh functions can
ssh2_exec into yourself. You can get the error stream separately
then...

After the connection is open, it is basically as fast as exec. But
there is a hit on connection. I wouldn't use this in webpage
environment, but I do use it for CLI admin applications. I use it to
run a stream of commands to many servers simultaneously.

On 2/20/07, Peter Lauri <lists@xxxxxxxxxxx> wrote:
> [snip]
>
> Do you need STDERR to go "out" to, err, wherever it goes, *AND* get it
> into your PHP script?
>
> Perhaps 'tee' (man tee) would let you do that.
>
> Or do you just need STDOUT in one variable, and STDERR in another,
> both in PHP?
>
> I think you could do something in shell to re-bind STDOUT to some
> other file/pipe, and then run your cool command...
>
> $tmpfile = tmpfile(); //I always get this one wrong.
> exec("rebind 2 $tmpfile; some cool command', $output, $error);
> $stderr = file_get_contents($tmpfile);
>
> It's probably not called 'rebind' but I know it's some shell command
> that does this.
>
> Possibly shell-specific, so you may even need to wrap the whole thing
> in a 'bash' call.
>
> Another option is to try to write a .sh shell script to get what you
> want for STDOUT to go where you want, and THEN just call that script
> (which has 'some cool command' at the end) from PHP, and let the
> weird-o shell stuff be done in a shell script, and not clutter up your
> PHP code with a complex shell script setup/tear-down.
>
> [/snip]
>
> I'd like to get STDERR into one variable in PHP and STDOUT into one. This
so
> that when we execute a script and there is an exit code different from 0 I
> want to show a log of error/notices during the script. Actually I want to
> show the whole process if it fails so 2>&1 for exit code not equal to 0.
>
> I'll probably end up writing a patch for exec now :)
>
> /Peter
>
> www.dwsasia.com
> www.lauri.se
> www.carbon-free.org.uk
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
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