$_SERVER['DOCUMENT_ROOT'] в CLI или Cron

$_SERVER['DOCUMENT_ROOT'] не будет доступна в CLI. Веб-сервер определяет корень документа. В CLI вы не используете веб-сервер, поэтому нет корневого документа.

Вы можете попытаться полагаться на переменные окружения, полагая, что они установлены вашей оболочкой. Например, $_SERVER['PWD'] представляет текущий каталог, а $_SERVER['HOME'] представляет домашний каталог пользователя.

Но данный пример с PWD неактуален в случае, если вы запускаете скрипт не из той директории, где находится запускаемый файл. То есть PWD отражает директорию в которой вы находитесь в момент запуска.

Приведу свой пример, который позволяет вычислить директорию запускаемого файла:

<?php
$self = pathinfo(__FILE__, PATHINFO_BASENAME);
$document_root = rtrim(str_replace($self, '', __FILE__), '/');

В $document_root будет директория, где лежит запускаемый файл.

4417 0

Комментарии

Пока нет ни одного отзыва. Оставьте отзыв первым
Только авторизованные пользователи могут оставлять комментарии Вход

Похожие статьи

Создать и скачать CSV на PHP

Рассмотрим возможность быстрого создания CSV файла с автоматическим скачиванием файла. Рассмотрим формирование, разделители и header для возможности скачать файл.