Bug #69452 [Opn->Fbk]: STDERR constant is undefined
| From: | cmb@php.net | Date: | Sun, 19 Apr 2015 20:09:57 +0000 |
| Subject: | Bug #69452 [Opn->Fbk]: STDERR constant is undefined | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-192209@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=69452&edit=1
ID: 69452
Updated by: cmb@php.net
Reported by: padraic@php.net
Summary: STDERR constant is undefined
-Status: Open
+Status: Feedback
Type: Bug
Package: CGI/CLI related
Operating System: Ubuntu 14.10 32
PHP Version: master-Git-2015-04-14 (Git)
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
The issue is most likely not related to PHP 7, but rather to the
fact that Xdebug is not available for the PHP 7 Travis tests, and
only in this case line 23 of bootstrap.php is executed. I'm getting
the same notice on versions before PHP 7 if Xdebug is not
available.
Can you please confirm, Pádraic.
Further information: STDERR (as well as STDIN and STDOUT) is
generally not defined when using Symfony's PhpProcess class, at
least not on Windows (if Process::$enhanceWindowsCompatibility ==
true, what is the default) and on Cygwin, as the following snippet
confirms:
$process = new Symfony\Component\Process\PhpProcess(
'<?php echo STDERR; ?>'
);
$process->run();
echo $process->getOutput();
Previous Comments:
------------------------------------------------------------------------
[2015-04-18 15:07:57] padraic@php.net
Using this compiled version from master, the simpler method described earlier does indeed pass
however and report a resource. It appears to be something specific to the running of the tests that
only occurs under PHP7. The syntax of the file using the STDERR being reported as undefined appears
sound - and sparks no notice when isolated from the rest of the source code. Checking for the SAPI
name, confirms it's definitely cli when the tests include that file and the notice is
triggered.
------------------------------------------------------------------------
[2015-04-18 14:43:09] padraic@php.net
https://travis-ci.org/padraic/humbug/jobs/58950141
This is running under Travis where the PHP version is described as: PHP 7.0.0-dev (cli) (built: Apr
16 2015 23:58:03). Same notice as previously reported. The STDERR appears undefined. The same tests
under PHP5 pass without any issue.
So I cloned php-src and compiled a copy. Same resulting notice using the CLI sapi (after make; no
make install).
PHP 7.0.0-dev (cli) (built: Apr 18 2015 13:14:50)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
------------------------------------------------------------------------
[2015-04-17 23:33:13] cmb@php.net
I've just checked with #r9a0cb73 (Windows):
> php -r "var_dump(STDERR);"
resource(3) of type (stream)
Padraic, please check again.
------------------------------------------------------------------------
[2015-04-16 09:59:36] padraic dot brady at gmail dot com
That's good to know, since Humbug is a CLI application...and it's clearly not defined.
The example links to a Travis build showing Humbug's tests passing under PHP5 and the failure
with this notice under PHP7 which I though would be helpful. Apologies if I misunderstood, but it
just looks like you closed this report without enough consideration.
------------------------------------------------------------------------
[2015-04-15 09:47:19] laruence@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=69452
--
Edit this bug report at https://bugs.php.net/bug.php?id=69452&edit=1