Ho tirato fuori i miei capelli per le ultime 5 ore rispetto a quello che pensavo sarebbe stato un task semplice, abilitando la funzionalità cron per Laravel. Sto eseguendo Laravel 5.1 su un server stack LAPP Amazon EC2 di Amazon.
Ho aggiunto l'attività cron alla list dei lavori di cron usando il command
sudo crontab -e
Quindi ho aggiunto il command elencato nella documentazione di laravel
* * * * * php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1
Mi sono assicurato che cron sia in esecuzione e posso vedere che l'attività è in esecuzione se corro
sudo grep -i cron /var/log/syslog|tail -3
Che ritorna
Mar 4 15:36:01 ip-172-31-7-174 CRON[15120]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1) Mar 4 15:37:01 ip-172-31-7-174 CRON[15123]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1) Mar 4 15:38:01 ip-172-31-7-174 CRON[15125]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1)
Ho provato che il path non ha errori di battitura in esso eseguendo il command dalla row di command e funziona correttamente
php /home/bitnami/htdocs/project/app/artisan schedule:run
Inoltre ho aggiunto questo task cron solo per confermare che cron è attualmente in esecuzione
* * * * * echo "Cron" > /home/bitnami/htdocs/project/app/artisan/file.txt
Mi sono anche assicurato che il file sia eseguibile procedendo come segue, ma questo non ha risolto il problema
chmod 755 artisan chmod 777 artisan (I am aware this is dangerous) chmod +x artisan (Suggested on fourms)
Qualcuno ha qualche suggerimento where sto andando male qui.
Ho sperimentato questo e ho trovato una soluzione. È per ragioni sconosciute in bitnami, quindi il command php non è riconosciuto da cron. Ho usato questo command per farlo funzionare:
* * * * * /path/to/php/bin/php /home/bitnami/htdocs/project/app/artisan schedule:run 1>> /dev/null 2>&1