Если вы делаете это из задания cron, то DOCUMENT_ROOT
не будет существовать. DOCUMENT_ROOT
и другие переменные $_SERVER
эффективно устанавливаются веб-сервером (см. справочная страница $ _SERVER ), и, если вы запускаете скрипт непосредственно из cron, веб-сервер не задействуется , См. это ранее, аналогичный вопрос .
Попробуйте установить путь к каталогу резервной копии относительно местоположения скрипта PHP. Например, если ваш сценарий находится в .../your_folder/scripts/backup_script.php
, а ваш (предварительно созданный) каталог резервного копирования - .../your_folder/backup/
, тогда
$backup_dir = dirname(__FILE__) . '/../backup';
... и затем используйте $backup_dir
вместо getenv('DOCUMENT_ROOT')
.
Похоже, что инструкции ваших хостов верны, но только если запускать скрипт с веб-сервера, а не из командной строки.