Я занимаюсь разработкой и развертыванием различных PHP-приложений в разных средах. Особенно в средах разработки, они могут быть где угодно, от document_root до / Users / me / Sites / или даже / Users / me / Sites / someapp /
Внутри этих приложений мне нужно знать, где находится «корень приложения», один раз как реальный путь и один раз как URL. Путь не проблема. Допустим, в корневом каталоге приложения есть файл bootstrap.php, который делает:
define("BASE_DIR", realpath(dirname(__FILE__)));
Однако у меня проблемы с надежным получением базового URL. В большинстве сред работает простое вычитание корня документа из BASE_DIR:
define("BASE_URL", str_replace($_SERVER['DOCUMENT_ROOT'],'',BASE_DIR) . "/");
Теперь моя проблема: это не работает в средах, где мое приложение находится внутри моего пользовательского каталога, потому что PHP по-прежнему видит корень основного документа. Кто-нибудь решил эту проблему?