Por favor, use /etc/crontab
. Esse método de fazer tarefas agendadas permite adicionar um nome de usuário à tarefa. Será assim:
* * * * * www-data /usr/bin/php /var/www/html/test.php >> /var/log/cron.log
Você pode fazer nano /etc/crontab
e adicionar a linha ao arquivo.
But when I do the same but using a PHP script (executing via browser): exec('crontab /var/www/html/cron.txt');, it doesn't work.
Se isso não funcionar, você provavelmente terá outro problema que o uso de "crontab". Por exemplo: você não precisa redirecionar? (ex: use > /dev/null 2>/dev/null &
no final do seu comando exec?).