ID:               45643
 Updated by:       [EMAIL PROTECTED]
 Reported By:      christian dot reinecke at web dot de
-Status:           Open
+Status:           Feedback
 Bug Type:         Compile Failure
 Operating System: Mac OS X 10.5.3
 PHP Version:      5.2.6
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows (zip):
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

For Windows (installer):

  http://snaps.php.net/win32/php5.2-win32-installer-latest.msi




Previous Comments:
------------------------------------------------------------------------

[2008-07-28 07:30:14] christian dot reinecke at web dot de

Description:
------------
I installed the php QCodo framework (Current Development Version,
qcodo-0.3.43.tar.gz), which includes a couple of it's own files.

qcodo/_core/framework/QApplicationBase.class.php
includes on line 304 in a foreach-loop some files, in the last loop
qcodo/_core/framework/QQuery.class.php

this fails with no output (error_reporting on E_ALL | E_STRICT,
display_errors true, same "output" (or missing output) when using
error_log() instead of print/echo.


// Preload Class Files
var_dump(PHP_VERSION);
//foreach (QApplication::$PreloadedClassFile as $strClassFile) {
    $x =
"/Users/chriz/Documents/workspace/figufi.local/includes/qcodo/_core/framework/QQuery.class.php";
    var_dump($x, is_file($x), is_readable($x), filesize($x)); flush();
    $r = require $x;
    var_dump("$r, $x included"); flush();
//}
echo "end"; exit;


var_dump() is never executed in this case, the only output is
string(5) "5.2.6" string(93)
"/Users/chriz/Documents/workspace/figufi.local/includes/qcodo/_core/framework/QQuery.class.php"
bool(true) bool(true) int(49564) 


using echo "byebye"; flush(); ob_end_flush(); die("-"); as first
command in that file has no effect either. Deleting the file has the
effect, that require fails.

Now I started to delete content from the end of that file, this code
still does not work:
http://nopaste.php-quake.net/39881

If I delete the last empty method in this file, it works. (var_dump()
and "end"/exit is shown). But it's getting more strange, if I don't
remove that method, but remove the comment (!) above, it ends in an
E_STRICT warning:

Declaration of QQSubQuerySqlNode::GetColumnAlias() should be compatible
with that of QQNode::GetColumnAlias()
Error Type:   E_STRICT


This is NOT reproducable, neither on the same system (in another
virtual host and simplified environment (less includes before)) nor on a
Windows machine with the same PHP-Version.


Removing a comment or method should not end in a script termination.
Sorry for this hard bug report with nearly no starting point, but maybe
there's something wrong with the parser about comments or inheritance.

Expected result:
----------------
require the readable file and show the die() message at the beginning
of the required file

Actual result:
--------------
require fails, neither the die() command in the required file is shown,
nor something else after the require command

it's definitly not about the existance of the file or denied access to
the file, it's its content


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45643&edit=1

Reply via email to