light83
Новичок
Спрошу тоже в этой теме, ситуация похожая.
Встретился с какими-то чудесами require_once.
Конфиг: nginx+apache, все php-запросы уходят в apache.
Скрипт подключает к себе 2 конфиг-файла через require_once.
Если запрос по site.ru/script.php - все ок
Если запрос по username.site.ru/script.php (nginx такой запрос переадресовывает на apache точно также, docroot при этом стоит такой же как в предыдущем случае) то файлы подключаются, но в одном из них не видны переменные. В то же время файл подключен, его функии видны как через function_exists, так и через работу, они работают. А вот переменные и define определенные в подключенном файле, не видны. Как такие чудеса возможны? Причем из второго подключенного файла видны и функции и переменные.
Еще если в 1-ый подключаемый файл вставить if($_GET['test']=='1') echo 'test called'; то при прямом вызове файла работает, при вызове site.ru/script.php?test=1 работает. Но при вызове username.site.ru/script.php?test=1 - нет! В то же время если во второй подключаемый файл написать эту строку, будет работать и через username.site.ru.
Я даже не знаю что предположить. Ошибок никаких в логах нет, да и require_once не позволило бы запустить скрипт если бы файлы не подключились.
Встретился с какими-то чудесами require_once.
Конфиг: nginx+apache, все php-запросы уходят в apache.
Скрипт подключает к себе 2 конфиг-файла через require_once.
Если запрос по site.ru/script.php - все ок
Если запрос по username.site.ru/script.php (nginx такой запрос переадресовывает на apache точно также, docroot при этом стоит такой же как в предыдущем случае) то файлы подключаются, но в одном из них не видны переменные. В то же время файл подключен, его функии видны как через function_exists, так и через работу, они работают. А вот переменные и define определенные в подключенном файле, не видны. Как такие чудеса возможны? Причем из второго подключенного файла видны и функции и переменные.
Еще если в 1-ый подключаемый файл вставить if($_GET['test']=='1') echo 'test called'; то при прямом вызове файла работает, при вызове site.ru/script.php?test=1 работает. Но при вызове username.site.ru/script.php?test=1 - нет! В то же время если во второй подключаемый файл написать эту строку, будет работать и через username.site.ru.
Я даже не знаю что предположить. Ошибок никаких в логах нет, да и require_once не позволило бы запустить скрипт если бы файлы не подключились.