2010-03-18 7 views
1

C'est la première fois que j'utilise un CRON. Je l'utilise pour analyser des données externes qui sont automatiquement transférées par FTP à un sous-répertoire de notre site.Comment puis-je tester un travail CRON avec PHP?

J'ai créé un contrôleur et un modèle qui gère les données. Je peux accéder à l'URL dans mon navigateur et cela fonctionne (mais je vais bientôt le restreindre).

Mon problème est, comment puis-je tester si ça fonctionne?

J'ai ajouté à mon contrôleur pour un journal rapide et sale

$file = 'test.txt'; 

     $contents = ''; 

     if (file_exists($file)) { 

      $contents = file_get_contents($file); 

     } 

     $contents .= date('m-d-Y') . ' --- ' . PHP_SAPI . "\n\n"; 

     file_put_contents($file, $contents); 

Mais jusqu'à présent, les demandes n'avons reçu de moi-même enregistrées à partir du navigateur, malgré mon CRON courir toujours minute.

03-18-2010 --- cgi-fcgi 

03-18-2010 --- cgi-fcgi 

Je l'ai établi à l'aide de cPanel avec la commande

index.php properties/update/

la partie 2 est ce que j'utiliser pour accéder à la page dans mon navigateur. Alors, comment puis-je tester cela fonctionne correctement, et ai-je bourré quelque chose?

Note: J'utilise Kohana 3.

Un grand merci

Répondre

2

Vous n'utilisez pas la commande correcte pour appeler Kohana. Assurez-vous d'utiliser le chemin d'accès complet à index.php afin d'éliminer les erreurs de chemin. Voici le switches available for use in Kohana:

  • - uri: Explicite
  • - méthode: Méthode de requête HTTP (POST, GET, etc ...) (Substitue Kohana :: méthode $)
  • - obtenir: données GET formaté
  • - poste: formaté données pOST

Vous devez utiliser quelque chose comme ceci:

php /path/to/kohana/directory/index.php --uri=properties/update/ 

Je ne me souviens pas si vous avez besoin des guillemets autour de la valeur, ne pas oublier d'essayer que si cela ne fonctionne pas.

+0

Merci, bonne réponse et le lien est une bonne lecture. – alex

+0

Une chose que je peux suggérer à votre réponse, est de ne pas placer le mot «application» dans votre chemin d'exemple. Il m'a lancé, car il y a en fait un dossier nommé application dans Kohana qui n'a pas de 'index.php'. – alex

+0

Oh désolé, je n'ai pas pensé à cela à ce moment -_- 'Mise à jour. –

0

vous n'êtes probablement pas Cron cours d'exécution avec les permissions root sur ce fichier.

Mettez mailto="[email protected]" au début du fichier cron pour qu'il vous envoie des erreurs par courrier électronique.

Si vous n'avez pas d'accès root au fichier cron (I.E. SSH), je ne sais pas si vous pouvez le faire dans cPanel.

Questions connexes