ID:               32967
 User updated by:  oskar-phpbug at eyb dot de
 Reported By:      oskar-phpbug at eyb dot de
-Status:           Feedback
+Status:           Open
 Bug Type:         *General Issues
 Operating System: FreeBSD 5.3
 PHP Version:      5.0.4
 New Comment:

In one vhost it works the following test, in another it doesn't.


create in /home/whatever/www/test.php
and in /home/whatever/www/sub1/testsub1.php
and in /home/whatever/www/sub1/sub2/testsub2.php

--- test.php
<?php
print __FILE__;
print "<br>";
require("./sub1/testsub1.php");
?>

--- testsub1.php
<?php
print __FILE__;
print "<br>";
require("./sub1/sub2/testsub2.php");
?>

--- testsub2.php
<?php
print __FILE__;
?>

Result in vhost1
-------------------
/home/whatever/www/test.php
/home/whatever/www/sub1/testsub1.php
/home/whatever/www/sub1/sub2/testsub2.php 


Result in vhost2
-------------------
/home/whatever/www2/test.php
./sub1/testsub1.php
./sub1/sub2/testsub2.php


I can't find no difference between the vhosts, in which its OK and the
"disfunctional".

In the diffs of both phpinfo() there are only vars like Hostname:Port,
DOCUMENT_ROOT, HTTP_POST, SERVER_ADMIN, SERVER_NAME, UNIQUE_ID etc
differential.

But there must exist one?!


httpd is Apache 1.3.33 


This one is OK:

<VirtualHost *:80>
    ServerAdmin [EMAIL PROTECTED]
    DocumentRoot /.../htdocs
    ServerName ...
    ServerAlias www....
    ErrorLog /.../error_log
    CustomLog /.../access_log combined

<Directory /.../htdocs>
        AllowOverride Options FileInfo
</Directory>
</VirtualHost>


This one not:
<VirtualHost *:80>
    ServerAdmin [EMAIL PROTECTED]
    DocumentRoot /.../htdocs
    ServerName ...
    ServerAlias www....
    ErrorLog /.../www2/error_log
    CustomLog /.../www2/access_log combined

<Directory /.../htdocs>
        AllowOverride Options FileInfo
</Directory>
</VirtualHost>


The filesystem of these vhosts is the same.
In the first vhost I can of course install gallery2 without any
problems...


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

[2005-05-27 09:14:08] [EMAIL PROTECTED]

Zend extensions are loaded with (surprise surprise):

  zend_extension=/path/to/some/zend_extension.so

Disable all the shared modules you're running and see if you get the
same result.


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

[2005-05-18 21:58:26] oskar-phpbug at eyb dot de

SAPI  [  php_sapi_name()  ]  is "apache" (mod_php)

I've currently the following extensions loaded (no zend..)

extension=bcmath.so
extension=bz2.so
extension=ctype.so
extension=curl.so
extension=dom.so
extension=exif.so
extension=ftp.so
extension=gd.so
extension=gettext.so
extension=iconv.so
extension=imagick.so
extension=imap.so
extension=ldap.so
extension=mbstring.so
extension=mcrypt.so
extension=mcve.so
extension=mhash.so
extension=ming.so
extension=mysql.so
extension=openssl.so
extension=pcre.so
extension=pdf.so
extension=pgsql.so
extension=posix.so
extension=readline.so
extension=session.so
extension=simplexml.so
extension=sqlite.so
extension=tokenizer.so
extension=wddx.so
extension=xmlrpc.so
extension=zlib.so

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

[2005-05-18 20:10:53] [EMAIL PROTECTED]

And please check that you don't have any of zend_extension's loaded.

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

[2005-05-18 17:18:19] [EMAIL PROTECTED]

What SAPI are you using?
Does it work with CLI ?

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

[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

Reply via email to