Solo estoy tratando de ejecutar un script PHP usando un trabajo cron dentro de CPanel, ¿es esta la sintaxis correcta?
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
No recibo ninguna notificación por correo electrónico que indique que se completó un cron, ¿debo hacer algo específico con el archivo PHP?
Respuestas:
En el sistema crontab:
/usr/bin/php
es camino php binario (diferente en algunos sistemas ex: FreeBSD/usr/local/bin/php
, Linux:/usr/bin/php
)/home/username/public_html/cron/cron.php
debería ser su ruta de script php/dev/null
debe ser una salida cron, por ejemplo:/home/username/stdoutx.txt
Entonces puede monitorear su cron viendo la salida cron
/home/username/stdoutx.txt
fuente
Usé este comando para activar el trabajo cron para esto.
en el servidor de godaddy y funciona bien.
fuente
-q
significa?-q
es para el modo silencioso, suprime la salida del encabezado HTTP>/dev/null
evita que cron envíe correos.en realidad, en mi opinión, es mejor hacer un
php
script para que se preocupe por su registro en lugar de simplemente enviar algo a cronfuente
>/dev/null 2>&1
al final .../path/to/file.php > /dev/null
se quedará en silencio.Esta es la manera más fácil:
php -f /home/your_username/public_html/script.php
Y si desea registrar la salida del script en un archivo, agregue esto al final del comando:
>> /home/your_username/logs/someFile.txt 2>&1
fuente
Esta es la forma:
fuente
Esta línea cron funcionó para mí en hostgator VPS usando cpanel.
fuente
He tenido problemas al usar / usr / bin / php en CPanel, ya que está compilado como un binario "cgi-fcgi" y no como "cli". Intente usar / usr / local / bin / php o, como es el primero en la ruta de todos modos, simplemente use 'php' en su lugar:
Si desea ejecutar el script como ejecutable, dele + x permisos y utilice lo siguiente como primera línea del script:
fuente
Espero que tu problema también sea con path & php binary. Si ha arreglado la ruta según las respuestas anteriores, use php-cli en lugar del comando php mientras ejecuta el trabajo cron.
Es posible
php_sapi_name()
que no regresecli
. Está devolviendo algo más como,cgi-fcgi
etc./usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
Espero que te ayude.
fuente
Esto funciona bien y también envía correos electrónicos:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Los siguientes dos comandos también funcionan bien pero no envían correo electrónico:
/ usr / bin / php -f / home / Igual que arriba
php -f / home / Igual que arriba
fuente
Sugerido por expertos.
fuente
En realidad, es muy simple,
fuente
Para el trabajo Cron Multi PHP específico del dominio , haga esto,
En el ejemplo anterior, reemplace "ea-php56" con la versión de PHP asignada al dominio que desea utilizar.
Espero que esto ayude a alguien.
fuente