
Quiero ejecutar un script php usando un trabajo cron en localhost. Mi guión se encuentra en:
/opt/lampp/htdocs/rrugd/myscript.php
Como opt está bajo la raíz, intenté agregar el trabajo cron para la raíz, así como para el usuario normal, pero no se está ejecutando. Este es el trabajo cron para ejecutar el script php cada 2 minutos:
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
Básicamente, mi script está destinado a truncar una tabla de la base de datos. En realidad, sucederá a medianoche, por lo que las variables reales del trabajo cron cambiarán a
00 00 * * * php /path/to/script.php
Pero para probar lo he usado cada dos minutos. He buscado en Internet y en AU, pero no puedo ejecutarlo. Vi algo relacionado con establecer una RUTA pero no entendí qué se debe hacer exactamente en ese método.
Además, me gustaría especificar que el script PHP myscript.php
NO se ejecutó en CLI con el comando PHP, sin embargo, se ejecuta cuando se ejecuta o se llama a través del navegador en localhost.
Información PHP:
some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
Respuesta1
Asumiendo suphp5; Hay casos de uso de php en un cronjob. Puede probar uno de estos siguiendo;
- Para poder utilizarlo
php5
en la terminal necesitarás tenerlophp5 cli
instalado. Primero, verifique siphp5 & cli
la funcionalidad está disponible. para eso;
johan@ubusrv:~$ php -v PHP 5.2.4-2ubuntu5.3 con Suhosin-Patch 0.9.6.2 (cli) (compilado: 23 de julio de 2008 06:44:49) Copyright (c) 1997-2007 El grupo PHP Zend Engine v2.2.0, Copyright (c) 1998-2007 Tecnologías Zend
El comando muestra que su versión de php5 junto con php5 (cli) están instaladas. De lo contrario, instálelo usando el siguiente comando;
sudo apt-get instalar php5-cli
- Una vez instalado, puede agregar
php
su ruta binaria al cronjob como se muestra a continuación;
usandoPHPophp5
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
usandoPHPruta binaria
*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php
También puede utilizar los siguientes comandos para encontrar dónde está suphp/php5el camino es;
johan@ubusrv:~$ cual php /usr/bin/php johan@ubusrv:~/cli$ donde está php php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz johan@ubusrv:~/cli$ escriba -a php php es /usr/bin/php
- En otros lugares, si necesita llamar a un script php mediante URL; simplemente puedes usarlince,rizooobtener. Asegúrese de haber colocado su script php dentro del directorio
www
opublic_html
y llame a la ruta correctamente en el cronjob.
*/2 * * * * wget -q http://localhost//myscript.php
Más en: PHP Cron Job: Cómo ejecutar un script PHP usando Crontab en Linux