Хотите знать, если кто-нибудь может предоставить некоторую помощь / советы по проблеме, с которой мы столкнулись в WACT ? Можно представить, что у других людей такая же проблема.
По сути, нам нужен способ определить тот путь скрипта, с которого началось выполнение из WACT.
Обычно при использовании WACT вы начинаете такой скрипт, как;
Затем код внутри WACT должен быть в состоянии определить, где myscript.php находится в файловой системе, чтобы, например, шаблоны пользователей могли быть расположены относительно пути myscript.php.
Это может показаться простой проблемой, решаемой простым использованием;
$myscript_path = dirname($_SERVER['SCRIPT_FILENAME']);
К сожалению, это работает только в некоторых конфигурациях PHP — когда PHP используется как исполняемый файл CGI (и, вероятно, то же самое для варианта CLI), содержит путь к исполняемому файлу PHP, а не сценарий PHP, с которого началось выполнение.
Альтернативный вариант, который, казалось, выглядел хорошо в течение короткого времени, был;
$myscript_path = dirname($_SERVER['PATH_TRANSLATED']);
Если посмотреть на список ошибок PHP, кажется, что с этой переменной возникли проблемы, связанные с используемой версией Apache. Хуже всего то, что он полностью удален из PHP5, упомянутого здесь .
Любые другие идеи о том, как надежно определить путь сценария, где началось выполнение? Начинаю задумываться, нужна ли PHP предопределенная константа, такая как __MAIN__, которая обрабатывает это независимо от установки PHP.
Джефф освещает проблему более подробно здесь .