Неронятное поведение скопа имен функций

softm

Новичок
Неронятное поведение скопа имен функций

Уже не первый раз сталкиваюсь с крайне непонятным поведением ПХП. (4/5 без разницы)
Вот ситуация - включаю около 20-ти файлов с функциями с помощью require_once в цикле
Все пашет ...
Добавляю в каком-то Совершенно другом месте скрипта - пару переменных через $$, например.
И все - начинают буквально пропадать пользовательские функции. То есть те, что я написал.

Сталкиваюсь с этим бредом второй раз в жизни.
Вылечил (вроде) - отказом от реквайре_онсе в цикле.
написал вручную 20-ть строк. Заработало.

Такое впечатление, что память где-то кончается.
Но такое странное поведение же - не только на моей локальной винде, но и на удаленном хостинге, причем не на одном.

Включаю в скрипт смарти и пару других классов. Смарти ключевой ... то есть пользуется все время.

Скажите, - у меня дежавю? Уже год бъюсь над проблемой ... помогите понять, как определить или пространство имен в пхп не "заполнено до конца" или подскажите гипотезу - как такой бред у меня получается ...
 

zerkms

TDD infected
Команда форума
с такой формулировкой можно посоветовать или стенку, или phpfaq.ru/debug
 

softm

Новичок
Вы извините, меня эта задача вымотала, - начинаю верить в сверхестественное.

И поверьте такое поведение функций наблюдается действительно не первый год.

Я подозреваю, что гдето в смарти собака порылась, ибо Все остальное сам писал и там негде.

И как бы движек оный использован на доброй сотне сайтов - то есть не хочется быть битым.

ПС. Скрипты пишу с Е_АЛЛ ...

ПС2. Стенку уже пробовал ...
 

Wicked

Новичок
Добавляю в каком-то Совершенно другом месте скрипта - пару переменных через $$, например.
и переменные эти, наверняка, глобальные?
ты уверен, что ты тем самым не затираешь какие-то выжные переменные?

И все - начинают буквально пропадать пользовательские функции. То есть те, что я написал.
т.е. в какой-то момент работы скрипта они еще есть, а потом пропадают? :) шутка.
что говорит get_included_files в тот момент, когда эти функции должны бы быть, но их нету?

Вылечил (вроде) - отказом от реквайре_онсе в цикле.
вот с этого цикла и нужно было начинать дебаг.

Такое впечатление, что память где-то кончается.
не знаю, как у вас, но у всех других людей при этом вываливается фатальная ошибка: "PHP Fatal error: Allowed memory size of X bytes exhausted"
 

crocodile2u

http://vbolshov.org.ru
softm
Включи вывод ошибок (дисплей_эррорз). Если функции нету - значит, файл с ней не был подключен. Никаких мистических исчезновений быть не может - в твоих злоключениях виноват только ты сам.
 
Сверху