Alguém pode explicar as limitações de scripts de tarefas cron para mim?
Pergunta
Eu acho que estou confuso sobre o que exatamente é a diferença entre executar um script PHP como um trabalho cron contra acessá-lo com um navegador. Quando eu testar test.php batendo com Safari, que grava em um arquivo de texto como esperado, tornando entradas DB, etc. Quando ele é executado como um trabalho cron, ele faz tudo, exceto gravação para um arquivo de texto.
Eu já lidei com isso não indo para o analisador PHP, inserindo: #! / Usr / bin / php no início do arquivo.
Por que meu script de gravação para o meu arquivo de texto via cron, quando funciona via Safari?
(é uma frente fopen, fwrite, pouco fclose de código, tão revelador que não iria ser esclarecedor eu não acho)
Solução
serão as permissões de usuário. enquanto o apache (ou qualquer outro servidor web que você está usando) pode ter permissão para escrever para essa pasta, o usuário cron não se você torná-los ambos os membros de um mesmo grupo ou fazer o mundo gravável pasta que deve resolver o seu problema
manter em mente gravável mundo não é uma boa medida de segurança
Outras dicas
Tente chdir a algum existente, lugar gravável antes de fazer o fopen. Você nunca sabe onde o cron executa suas coisas.