1 votos

Ejecutar Cron con PHP en macOS 12 arroja un error - No se pudo abrir el archivo de entrada

Tengo esto en mi crontab:

* * * * * /Applications/MAMP/bin/php/php7.2.10/bin/php -f /Users/user/Documents/radio_bycron.php 2>&1 > /Users/user/Documents/radio_bycron.php_output.txt

En /Users/user/Documents/radio_bycron.php_output.txt, solo hay una línea que dice:

No se pudo abrir el archivo de entrada: /Users/user/Documents/radio_bycron.php

Ya le he dado chmod 0777 al script /Users/user/Documents/radio_bycron.php, pero aún tengo este problema. El problema ocurre con o sin la bandera -f.

Si ejecuto el comando directamente en la Terminal, funciona perfectamente.

¿Cómo puedo resolver este problema?

1voto

Joel Puntos 112

Puedes intentar esto:

* * * * * /Applications/MAMP/bin/php/php7.2.10/bin/php -f /Users/user/Documents/radio_bycron.php >> /Users/user/Documents/radio_bycron.php_output.txt 2>&1

No estoy familiarizado con PHP, pero leo el trabajo cron (como se ha revisado arriba) de la siguiente manera:

  • cada minuto:

  • usar el intérprete php: /Applications/MAMP/bin/php/php7.2.10/bin/php

  • con la opción -f (leer archivo??)

  • para ejecutar el contenido del archivo: /Users/user/Documents/radio_bycron.php

  • y redirigir (>>, no sobrescribir) la salida (stdout) del script radio_bycron.php al archivo /Users/user/Documents/radio_bycron.php_output.txt

  • y también redirigir 2>&1; es decir, enviar stderr (2) a stdout (1) (capturando efectivamente tanto stderr como stdout en el archivo /Users/user/Documents/radio_bycron.php_output.txt)

Mis cambios fueron motivados por dos posibles problemas en la versión de tu trabajo cron:

  1. la redirección al archivo (>) debería ocurrir antes de la redirección 2>&1
  2. dado que ejecutas cada minuto, la forma de sobrescribir (>) podría estar sobrescribiendo una salida anterior - que podría ser más significativa); por lo tanto, utiliza la forma de redirección de aumento (>>) para capturar todo.

Finalmente, tu entrada de crontab indica que estás ejecutando el comando cada minuto... eso podría ser un problema si se necesita más de 1 minuto para completar el script.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X