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)

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top