J'essaie simplement d'exécuter un script PHP à l'aide d'un travail cron dans CPanel - cette syntaxe est-elle la bonne:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Je ne reçois aucune notification par courrier électronique indiquant qu'un fichier cron a été complété. Dois-je faire quelque chose de spécifique avec le fichier PHP?
Dans le système crontab:
/usr/bin/php
est le chemin binaire php (différent sur certains systèmes, ex: freebsd /usr/local/bin/php
, linux: /usr/bin/php
)/home/username/public_html/cron/cron.php
devrait être votre chemin de script php/dev/null
devrait être une sortie cron, ex: /home/username/stdoutx.txt
Vous pouvez donc surveiller votre cron en affichant la sortie de cron /home/username/stdoutx.txt
J'ai utilisé cette commande pour activer le travail cron pour cela.
/usr/bin/php -q /home/username/public_html/yourfilename.php
sur le serveur GoDaddy, et son fonctionne bien.
>/dev/null
empêche cron d’envoyer des mails.
en fait, à mon avis, il est préférable de faire en sorte que le script php
se soucie de sa journalisation
C'est le moyen le plus simple:
php -f /home/your_username/public_html/script.php
Et si vous souhaitez consigner la sortie du script dans un fichier, ajoutez ceci à la fin de la commande:
>> /home/your_username/logs/someFile.txt 2>&1
Ceci est le chemin:
/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
Cette ligne cron a fonctionné pour moi sur VPS Hostgator avec cpanel.
/usr/bin/php -q /home/username/public_html/scriptname.php
J'ai eu des problèmes avec/usr/bin/php sur CPanel car il est compilé en binaire "cgi-fcgi" et non en "cli". Essayez d’utiliser/usr/local/bin/php ou, comme il est au premier rang dans le chemin, utilisez simplement 'php' à la place:
php /path/to/script.php
Si vous voulez exécuter le script en tant qu'exécutable, donnez-lui + x perms et utilisez ce qui suit comme première ligne du script:
#!/usr/bin/env php
J'espère que votre problème concerne aussi le chemin binaire php & php . Si vous avez corrigé le chemin selon les réponses précédentes, veuillez utiliser php-cli au lieu de la commande php lors de l'exécution du travail cron.
Il est possible que php_sapi_name()
ne renvoie pas cli
. Cela retourne quelque chose d'autre comme cgi-fcgi
etc.
/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
J'espère que cela aidera.
Cela fonctionne bien et envoie également un email:
/usr/bin/php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Les deux commandes suivantes fonctionnent également, mais n'envoient pas d'email:
/usr/bin/php -f / home/Identique au précédent
php -f / home/Comme ci-dessus
C'est en fait très simple,
php -q /home/username/public_html/cron/cron.php
Suggéré par des experts.
/usr/local/bin/php /home/username/public_html/path/to/cron/script
Pour un domaine spécifique Multi PHP Cron Job , faites comme ceci,
/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script
Dans l'exemple ci-dessus, remplacez «ea-php56» par la version PHP attribuée au domaine que vous souhaitez utiliser.
J'espère que ça aide quelqu'un.