Re: constants STDOUT, STDERR, STDIN not working in 5.2.x?
| From: | Jan G.B. | Date: | Tue, 23 Mar 2010 14:50:06 +0000 |
| Subject: | Re: constants STDOUT, STDERR, STDIN not working in 5.2.x? | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-303142@lists.php.net to get a copy of this message | ||
2010/3/23 Daniel Egeberg <degeberg@php.net>
> On Tue, Mar 23, 2010 at 11:47, Marten Lehmann <lehmann@cnm.de> wrote:
> > Hello,
> >
> > I found different code examples like this, which use the file handle
> STDERR
> > just like this:
> >
> > <?php
> > fwrite(STDERR, "hello\n");
> > ?>
> >
> > Also, the PHP documentation of input/output streams
> > (http://php.net/manual/de/wrappers.php.php) says:
> >
> > "It is recommended that you simply use the constants STDIN, STDOUT and
> > STDERR instead of manually opening streams using these wrappers."
> >
> > I don't want to use the "php://stderr" wrapper, because this just creates
> a
> > duplicate of the original STDERR handler and if I'm closing
> "php://stderr",
> > the original STDERR still would exist.
> >
> > When I'm using this code, I only get:
> >
> > <b>Notice</b>: Use of undefined constant STDERR - assumed 'STDERR'
> > in
> > <b>/test.php</b> on line <b>4</b><br />
> > <br />
> > <b>Warning</b>: fwrite(): supplied argument is not a valid stream
> resource
> > in <b>/test.php</b> on line <b>4</b><br />
> >
> > How can I access the original STDERR handle? The constant should be
> there,
> > but does not exist.
> >
> > regards
> > Marten
>
> These I/O streams are only present in the CLI SAPI.
>
> --
> Daniel Egeberg
>
> Please confirm that the code of my previous replay on this topic (executed
via php-cli) does not print out "test2" or "test3". The constant is present
but doesn't work as supposed.
Regards