Ответ 1
chdir(dirname(__FILE__));
При вызове php через cli текущий каталог НЕ изменяется на один из script. Все сценарии, которые я запускаю в crontab, запускаются через CLI, поэтому это проблема.
В настоящее время я исправляю проблему, выполняя chdir() с абсолютным путем, где находится script, но я ДЕЙСТВИТЕЛЬНО не люблю пути hardcoding в такие вещи.
Я ищу самый портативный/надежный способ обеспечения того, чтобы текущий рабочий каталог был тем, где находится script.
chdir(dirname(__FILE__));
Вы можете использовать __FILE__
, чтобы получить полный абсолютный путь к самому исполняемому файлу:
<?php
echo "I'm here: ".__FILE__."\n";
?>
Подробнее см. документацию.