2009-08-14 8 views
1

Je pense que je suis confus au sujet de la différence entre l'exécution d'un script PHP en tant que travail cron et l'accès avec un navigateur. Quand je teste test.php en le tapant avec Safari, il écrit dans un fichier texte comme prévu, crée des entrées DB, etc. Lorsqu'il s'exécute comme un travail cron, il fait tout sauf écrire dans un fichier texte.Quelqu'un peut-il m'expliquer les limites des scripts job cron?

Je l'ai déjà traité sans se diriger vers l'analyseur PHP en insérant: #!/Usr/bin/php au début du fichier.

Pourquoi mon script n'écrira-t-il pas mon fichier texte via cron, quand il fonctionne via Safari?

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

Répondre

3

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

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

+0

Ohhh bonne idée. Je verrai si l'hôte me permet de définir les groupes d'utilisateurs (hébergement Joyent). –

1

Essayez de chdir une certaine existant, lieu inscriptible avant de faire le fopen. Vous ne savez jamais où le cron gère vos affaires.

Questions connexes