Re: [PHP4BETA] BUGS
| From: | Andi Gutmans | Date: | Thu, 15 Apr 1999 20:54:44 +0000 |
| Subject: | Re: [PHP4BETA] BUGS | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-104@lists.php.net to get a copy of this message | ||
There's a comment a few lines down and one at the end...
At 12:13 15/04/99 -0400, AsianAvenue.com wrote:
>
>Log error appeared in: Apache error_log
>Message : start-condition stack underflow
>
>PHP Code to generate it:
>
><?
> include( "/web/CCI/AA/phpinclude/Database/lib/oracle734.php" ) ;
>
> echo "This is a test" ;
>?>
>
>It is OBVIOUSLY something that is in our include file. However, this
>include file works fine on the current PHP 3.0.7 version.
The PHP 4 Beta tree right now was created from PHP 3.0.6 so patches which
went into the PHP 3.0.7 tree aren't in it. We will need to migrate most of
those patches into the PHP 4 beta sometime soon.
>--------------------------------------------------------------------------
>
>File error appears in: php4/main.c
>
>Original Code:
> if (strcmp(PG(error_log), "syslog")) {
>
>This looks like the logging bug from 3.0.6.....everything seems to go to
>syslog even though I specified a log file in the php3.ini. I changed it
>the same way I did 3.0.6 and it worked:
>
> if (!strcmp(PG(error_log), "syslog")) {
>
>---------------------------------------------------------------------------
>
>The following works fine:
>
><?
> echo "Testing" ;
>?>
>
>However, this does not:
>
><?
> ech "Testing" ;
>?>
>
>And it SHOULD NOT...however, it does not log any messages anywhere. I
>suspect this has something to do with dynamic function declaration.
>Should it not log a warning or error?
>
>-----------------------------------------------------------------------------
>
>If I include a file which does not exist, I am FORCED to check the return
>value of include to see if there is an error. PHP 3 will write a log
>entry to the error_log to indicate the file could not be found.
>
>-----------------------------------------------------------------------------
>
>The code below is wrong but does not log anything anywhere.
>
> FUNCTION myFunction( &x, y, z )
> {
> $retVal = ARRAY( $x, $y, $z ) ;
>
> $x = 900 ;
>
> return( $retVal ) ;
> }
>
>-----------------------------------------------------------------------------
>
>The following works in PHP3 and not with Zend:
>
> FUNCTION myFunction( &$x, $y, $z )
> {
> $retVal = ARRAY( $x, $y, $z ) ;
>
> $x = 900 ;
>
> return( $retVal ) ;
> }
>
> $a = 1 ;
> $b = 2 ;
> $c = 3 ;
> LIST( $retA, $retB, $retC ) = myFunction( $a, $b, $c ) ;
>
> echo "$a, $b, $c, $retA, $retB, $retC<BR>" ;
>
>IN PHP3, this outputs:
>
>900, 2, 3, 1, 2, 3
>
>IN ZEND, this outputs:
>
>1, 2, 3, 1, 2, 3
I fixed this in the current CVS tree. Zeev and I actually rewrote a lot of
the function calling code a couple of days ago so we might still find some
more bugs in our new implementation which is quite a lot faster especially
in internal function calls.
Thanks for the bug reports.
Andi
---
Andi Gutmans <andi@zend.com>
ICQ: 1568297
--
PHP 4 Beta