J'essaie juste d'exécuter un script PHP en utilisant un travail cron dans CPanel - est-ce la syntaxe correcte:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Je ne reçois aucune notification par e-mail indiquant qu'un cron a été terminé, dois-je faire quelque chose de spécifique avec le fichier PHP?
Réponses:
Dans le système crontab:
/usr/bin/php
est le chemin binaire php (différent dans certains systèmes ex: freebsd/usr/local/bin/php
, Linux:/usr/bin/php
)/home/username/public_html/cron/cron.php
devrait être le chemin de votre script php/dev/null
devrait être une sortie cron, ex:/home/username/stdoutx.txt
Ainsi, vous pouvez surveiller votre cron en visualisant la sortie cron
/home/username/stdoutx.txt
la source
J'ai utilisé cette commande pour activer le travail cron pour cela.
sur le serveur godaddy, et cela fonctionne très bien.
la source
-q
signifie?-q
est pour le mode silencieux, supprime la sortie d'en-tête HTTP>/dev/null
arrête cron d'envoyer des mails.en fait, à mon avis, il est préférable de créer un
php
script lui-même pour se soucier de sa journalisation plutôt que de simplement envoyer quelque chose à cronla source
>/dev/null 2>&1
à la fin .../path/to/file.php > /dev/null
ci, ça va être silencieux.C'est le moyen le plus simple:
php -f /home/your_username/public_html/script.php
Et si vous souhaitez enregistrer la sortie du script dans un fichier, ajoutez ceci à la fin de la commande:
>> /home/your_username/logs/someFile.txt 2>&1
la source
Ceci est le chemin:
la source
Cette ligne cron a fonctionné pour moi sur hostgator VPS en utilisant cpanel.
la source
J'ai eu des problèmes avec / usr / bin / php sur CPanel car il est compilé en tant que binaire "cgi-fcgi" et non "cli". Essayez d'utiliser / usr / local / bin / php ou, comme c'est le premier dans le chemin de toute façon, utilisez simplement 'php' à la place:
Si vous souhaitez exécuter le script en tant qu'exécutable, donnez-lui + x perms et utilisez ce qui suit comme première ligne du script:
la source
J'espère que votre problème vient également du binaire path & php. Si vous avez corrigé le chemin selon les réponses plus anciennes, veuillez utiliser php-cli au lieu de la commande php lors de l'exécution de la tâche cron.
Il est peut-être possible de
php_sapi_name()
ne pas revenircli
. Il renvoie quelque chose d'autre commecgi-fcgi
etc./usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
J'espère que cela aidera.
la source
Cela fonctionne bien et envoie également un e-mail:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Les deux commandes suivantes fonctionnent également correctement mais n'envoient pas de courrier électronique:
/ usr / bin / php -f / home / Identique à ci-dessus
php -f / home / Identique à ci-dessus
la source
Suggéré par des experts.
la source
C'est en fait très simple,
la source
Pour le travail Cron Multi PHP spécifique au domaine , procédez comme suit,
Dans l'exemple ci-dessus, remplacez «ea-php56» par la version PHP attribuée au domaine que vous souhaitez utiliser.
J'espère que cela aide quelqu'un.
la source