Question

Je pense que je suis confus au sujet exactement ce que la différence entre l'exécution d'un script PHP comme une tâche cron par rapport à l'accès avec un navigateur. Lorsque je test test.php en le frappant avec Safari, il écrit dans un fichier texte comme prévu, fait des entrées DB, etc. Quand il fonctionne comme une tâche cron, il fait tout sauf écrire dans un fichier texte.

Je l'ai déjà eu affaire à ce pas en direction de l'analyseur PHP en insérant:     #! / Usr / bin / php au début du fichier.

Pourquoi pas mon écriture de script à mon fichier texte via Cron, quand il fonctionne via Safari?

(Il est un fopen avant droit, fwrite, peu fclose de code, révélant ainsi il ne serait pas éclairante je ne pense pas)

Était-ce utile?

La solution

ce sont les autorisations utilisateur. tandis que le apache (ou tout autre serveur Web que vous utilisez) peuvent avoir la permission d'écrire dans ce dossier, l'utilisateur ne fait pas Cron si vous les faites tous deux membres du même groupe ou rendre le monde dossier inscriptible qui devrait résoudre votre problème

garder à l'esprit inscriptible monde n'est pas une bonne mesure de sécurité

Autres conseils

Essayez de chdir à un endroit existant, inscriptible avant de faire le fopen. Vous ne savez jamais où l'action sera exécutée vos affaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top