Я разрабатываю программу PHP на MAMP и только что понял следующее странное поведение:
echo "
PATH = ".dirname(__FILE__);
include 'include.php';
include.php:
PATH = ".dirname(__FILE__);
?>
Результат:
PATH = / users / me / stuff / mamp_server / my_site (все строчные буквы)
PATH = / Users / me / Stuff / mamp_server / my_site (смешанный регистр)
Причина этого несовместимое поведение, и как я могу от него защититься? (Обратите внимание, что я не могу просто преобразовать все в нижний регистр, потому что приложение предназначено для сервера Linux, где пути к файлам чувствительны к регистру.)
Обновление:
Эта проблема существует для __ FILE __
и __ DIR __
.
Похоже, что это может быть реальной проблемой, без решения ... отправку отчета об ошибке, если я не услышу иное.
Отчет об ошибке:
https://bugs.php.net/bug.php?id=60017
Обновление:
И еще одно примечание: если вы используете абсолютный путь, включите (.. .) на Mac требуется версия со смешанным регистром.