Class redeclared даже при использовании include_once

McSimm

Новичок
Есть мнение, что это возникает из-за того, что один файл подключается с разных виртуальных хостов.
Как подключается файл, по локальному пути или по URL адресу ?

-~{}~ 19.04.06 14:38:

в локальных путях нет понятия виртуального хоста, есть только разве что символические ссылки, но include_once() их как раз обрабатывает правильно.
--
для windows платформы возможна проблема с регистром символов в имени
 

atv

Новичок
по идее include_once не должен 2й раз подгружать один и тот же файл.
А как он узнаёт что это один и тот же файл?... по абсолютному пути. Возможно с путями какая-то неразбериха получается. У меня была когда-то такая заморочка, правда не с виртуальными хостами. Всё дело оказалось в путях.
 

kugu

Новичок
CCCP_MOCKBA
Нет, он хочет чтобы класс (не объект!) не декларировался дважды.

PHP:
include('yourclass.php'); 
$obj1 = new YourClass(); 
....
include('yourclass.php'); 
  #Тут получаем error: cannot redeclare class yourclass
$obj2 = new YourClass();
А по сути ошибки:
Лично у меня при использовании require_once никогда таких проблем не возникало. Попробуй вместо include_once, честно не помню, чем они отличаются).

-~{}~ 20.04.06 12:14:

ой, сорри, запутался в страницах)

-~{}~ 20.04.06 12:20:

посмотрел чем отличается include от require ... оказывается я это основательно забыл...))

Различаются только в критичности ошибки если невозможно подключить, такчто дело действительно в путях, особенно если php4
 
Сверху