Pregunta

Creo que estoy confundido acerca de exactamente lo que es la diferencia entre ejecutar un script PHP como una tarea programada frente acceder a él con un navegador. Cuando la prueba prueba.php golpeándola con Safari, escribe en un archivo de texto como se esperaba, hace que las entradas de base de datos, etc. Cuando se ejecuta como una tarea programada, lo hace todo menos escribir en un archivo de texto.

Ya se ocuparon de ello no se dirige al intérprete PHP mediante la inserción:     #! / Usr / bin / php en el inicio del archivo.

¿Por qué mi secuencia de comandos de escritura a mi archivo de texto a través de cron, cuando funciona a través de Safari?

(Es un sencillo fopen, fwrite, poco fclose de código, por lo que revela que no sería esclarecedor no creo)

¿Fue útil?

Solución

será los permisos de usuario. mientras que el Apache (servidor web o lo que sea que esté utilizando) pueden tener permiso para escribir en esa carpeta, el usuario cron no lo hace si los hacen ambos miembros de un mismo grupo o tomar el mundo pueda escribir carpeta que debería resolver su problema

tener en cuenta el mundo pueda escribir no es una buena medida de seguridad

Otros consejos

Trate de chdir a un lugar existente, se puede escribir antes de hacer el fopen. Nunca se sabe donde el cron ejecuta sus cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top