Все совершенно правильно
крон работает от root и соответственно у рута совершенно другая домашняя директория, переменные среды, версия php и тд и тп.
Решение
1. crontab -e -uИМЯ ЮЗЕРА - но тут есть еще и тонкоссти с пхп поскольку они не совсем те что прописаны в конфигах apache nginx посколкьу вы опять же не указали какой php.ini файл инициализировать и какую версию какое представление пхп.
2. но есть куда более простой способ
это кроном и тут уже без разницы под каким юзермо поскольку мы будем скачивать с сайта страничку, а это означает что переменные среды загрузятяс с сайта, все константы и пхп будет от сайта, движок сайта и тд и тп.
Короче вот
50 15 * * /usr/bin/wget -t 1 -O - 'http://site.ua/script.php?p1=a&p2=b'
или
50 15 * * /usr/bin/wget -O /dev/null -q http://test.ru/test/index.php
в общем вы уловили мысль
таки образом вы просто запустите на сайте php файл как обычный клиент.
Манов в интернете тьма
https://www.ukraine.com.ua/faq/kak-zapustit-cron-c...