ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> php-dev
php-dev
#43821 [Opn->WFx]: require_once is case sensitive
by jani other posts by this author
Jul 11 2008 2:33PM messages near this date
#43821 [NEW]: require_once is case sensitive | [PHP-DEV] SUMMARY: Array syntax
ID:               43821
 Updated by:       jani@[...].net
 Reported By:      wxjasp02 at smumn dot edu
-Status:           Open
+Status:           Wont fix
 Bug Type:         Streams related
 Operating System: Windows Server 2003
 PHP Version:      4.4.8
 New Comment:

We are sorry, but we can not support PHP 4 related problems anymore.
Momentum is gathering for PHP 6, and we think supporting PHP 4 will
lead to a waste of resources which we want to put into getting PHP 6
ready.




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

[2008-01-11 15:59:02] wxjasp02 at smumn dot edu

Description:
------------
Require_Once in PHP 4.4.7 appears to be case sensitive in checking
files already included.

This has triggered 'cannot redeclare class' in situations where a
classfile may be already loaded, but require_once doesn't see it.

In light testing, I have found that I have to force my code to switch
any include or require calls to lower case to avoid this.

I realize this is an old version of php, and 4 is officially 'dead';
but I am unaware if this has been fixed. (I wouldn't use 4, however the
site where we host refuses to move to PHP5 or update php4 to the
latest.)

The bug was originally identified in Version 4.3.4, see: Bug# 26552;
however I believe it has re-surfaced.


System Configuration:
Windows Server 2003
Apache 2.0.59
PHP 4.4.7


Reproduce code:
---------------
Make a class and put it in a file which you will require_once.
<?php class MyClass {} ?> 

In the file you will run, call:
<?
require_once('myclass.php');
$obj = new MyClass();

require_once('MyClass.php'); // Will trigger an error
// because MyClass cannot be redeclared; however myclass.php 
// is being loaded TWICE
?> 

Expected result:
----------------
The expected result is to only load myclass.php ONCE.


To confirm the problem, empty the file myclass.php, or put some
non-class junk in it.

After each require_once, add:   print_r(get_included_files());

You should see myclass.php the first time it is called,
and myclass.php, MyClass.php, the second.

Actual result:
--------------
Cannot Redeclare class MyClass in ... on line ...


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


-- 
Edit this bug report at http://bugs.php.net/?id=43821&edit=1
Thread:
Wxjasp02 At Smumn Dot Edu
jani

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved