Несовместимость регистров путей к файлам PHP на Mac / MAMP?
Я занимаюсь разработкой PHP-программы на MAMP и только что понял следующее странное поведение:
echo "<br/>PATH = ".dirname(__FILE__);
include 'include.php';
include.php:
<?php
echo "<br/>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
Обновить:
И еще одно примечание: если вы используете абсолютный путь include (...) на Mac, для него требуется смешанная версия.