#28074 [Asn->Csd]: Fast CGI standard compliance : stderr should be written in a FCGI stderr stream
ID: 28074
Updated by: sniper@php.net
Reported By: bogus_idp at yahoo dot fr
-Status: Assigned
+Status: Closed
Bug Type: CGI related
-Operating System: any
+Operating System: *
-PHP Version: 5.0.0RC1
+PHP Version: 4CVS, 5CVS (2005-01-10)
Assigned To: shane
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2005-01-10 16:01:29] chris at ex-parrot dot com
This one turns out to be easy to fix, thus:
--- cgi_main.c.orig Mon Jan 10 14:57:04 2005
+++ cgi_main.c Mon Jan 10 14:53:44 2005
@@ -481,7 +481,14 @@
static void sapi_cgi_log_message(char *message)
{
- fprintf(stderr, "%s\n", message);
+#if PHP_FASTCGI
+ if (!FCGX_IsCGI()) {
+ FCGX_Request *request = (FCGX_Request *)SG(server_context);
+ FCGX_FPrintF( request->err, "%s\n", message );
+ /* ignore return code */
+ } else
+#endif /* PHP_FASTCGI */
+ fprintf(stderr, "%s\n", message);
}
static int sapi_cgi_deactivate(TSRMLS_D)
However, there is another similar bug, which is that a stream opened on
"php://stderr" should also direct its output to the FCGI error stream
(rather than just to file descriptor #2).
-- Chris Lightfoot
------------------------------------------------------------------------
[2004-04-20 15:55:00] derick@php.net
Assigning to Shane, the maintainer of this SAPI module.
------------------------------------------------------------------------
[2004-04-20 12:03:30] bogus_idp at yahoo dot fr
Description:
------------
The Fast CGI standard require that error be reported through the
FastCGI connection as a Stderr data stream.
But PHP Fast CGI processes still write errors to original stderr (file
handle 3) which prevent from clean standard centralized FCGI logging,
especially when the Fast CGI PHP process is not started by the web
server (remote Fast CGI).
In most cases, it makes debugging PHP scripts impossible.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28074&edit=1
Thread (7 messages)