Análisis de las razones del fracaso del uso de crontab para implementar tareas programadas de PHP en Linux
Muchas personas usan crontab para implementar PHP para ejecutar tareas programadas en Linux pero no logran generar caché. Este artículo analiza las razones por las que no se puede utilizar crontab para implementar tareas programadas de PHP en Linux.
Generalmente nuestro Linux ejecuta código PHP regularmente, por ejemplo:
*/5
*
*
*
*
/usr/local/php/bin/php
/home/wwwroot/1.php
En De hecho, esto puede ejecutar código PHP.
Pero ¿por qué muchos amigos escriben un archivo de caché en 1.php pero no lo generan?
Esto implica el problema de la ruta relativa de crontab al ejecutar php.
Tenga en cuenta que hay archivos de inclusión en el archivo de ejecución, como:
include_once'./ mysql.php';
Cuando se usa una ruta relativa en el código PHP, solo puedes ingresar a ese directorio,
y luego ejecutar /usr/local/php/bin/php
/home/wwwroot/1.php
Solo haciendo referencia a mysql.php puede surtir efecto.
La solución es la siguiente:
*/10
*
*
*
cd
/home/wwwroot
&&
/usr/local/php/bin/php
/home/wwwroot/1.php
Al mismo tiempo, el caché se puede generar en
/home/wwwroot. ¡Aquí se necesita atención especial!
Esto es algo que la mayoría de las llamadas ejecuciones programadas de PHP en Linux no han mencionado, y también es lo más probable que cause malentendidos.
Por supuesto, existen muchos métodos y también puede configurar variables de entorno y similares. Este es sólo un método simple.