В CLI $_SERVER['DOCUMENT_ROOT']
не работает. Как я могу это исправить? Есть ли другой доступный вариант. Я не могу использовать относительные пути, потому что файлы находятся в разных каталогах.
$ _SERVER содержит заголовки, которые не будут доступны в CLI. Веб-сервер определяет корень документа. В CLI вы не используете веб-сервер, поэтому нет корневого документа.
Вы можете попытаться полагаться на переменные окружения, полагая, что они установлены вашей оболочкой.
Например, PWD
представляет текущий каталог, а HOME
представляет домашний каталог пользователя.
$pwd = getenv('PWD'); $home = getenv('HOME');
Вы также можете использовать магические константы __FILE__
или __FILE__
чтобы попытаться изобразить путь, в котором вы сейчас находитесь.