ID: 32967
Updated by: tony2001@php.net
Reported By: oskar-phpbug at eyb dot de
-Status: Open
+Status: Feedback
Bug Type: *General Issues
Operating System: FreeBSD 5.3
PHP Version: 5.0.4
New Comment:
What SAPI are you using?
Does it work with CLI ?
Previous Comments:
------------------------------------------------------------------------
[2005-05-06 18:02:15] oskar-phpbug at eyb dot de
Description:
------------
It seems a never fixed problem with __FILE__
It looks like this description:
http://bugs.php.net/bug.php?id=13936
After I updatetd because this bug from PHP 4.3.11 to 5.0.4,
unfortunately, there is the same problem.
I would be very grateful if this can be fixed now.
Reproduce code:
---------------
In install/steps/SystemChecksStep.class of the Gallery2 - Distribution
there is the following code of interest:
function CheckFileDirective() {
if (strstr(__FILE__, 'install/steps/SystemChecksStep.class') ||
strstr(__FILE__, '\\install\\steps\\SystemChecksStep.class')) {
return true;
} else {
return false;
}
}
Expected result:
----------------
__FILE__ should return the full path, that is the absolute path, of the
file where it's called in.
__FILE__ returning a relative path is a known php problem and should
have been fixed by now.
it seems that PHP couldn't fix it for all system, i.e. obviously it
doesn't work on your freebsd machine.
Actual result:
--------------
If I write above the if (...)
die('__FILE__ = ' . __FILE__);
then in the browser appears
__FILE__ = ./steps/SystemChecksStep.class
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32967&edit=1