J'ai essayé la méthode suivante dans le passé:Comment exécuter un fichier CodeIgniter via CRON?
<?php
set_time_limit(0);
$_SERVER['PATH_INFO'] = 'cron/controller/index';
$_SERVER['REQUEST_URI'] = 'cron/controller/index';
require_once('index.php');
?>
et de mettre cela dans un fichier dans le répertoire d'installation de CodeIgniter, appelant cron.php, puis en appelant via:
php /home/[username]/public_html/my_project/cron.php
Si je tape l'URL de cron.php dans mon navigateur, il fonctionne parfaitement, mais chaque fois qu'il est lancé via CRON, j'obtiens une erreur 404. Mettre le code suivant dans la fonction show_404()
de CodeIgniter
function show_404($page = '')
{
print_r($_SERVER);
echo "\n\n";
die ($page);
}
résultats à obtenir la sortie suivante envoyé par courrier électronique à moi:
Array
(
[SHELL] => /bin/sh
[MAILTO] => [email protected]
[USER] => [me]
[PATH] => /usr/bin:/bin
[PWD] => /home/[me]
[SHLVL] => 1
[HOME] => /home/[me]
[LOGNAME] => [me]
[_] => /usr/bin/php
[PHP_SELF] =>
[REQUEST_TIME] => 1266479641
[argv] => Array
(
[0] => /home/[me]/public_html/my_project/cron.php
)
[argc] => 1
[PATH_INFO] => cron/controller/index
[REQUEST_URI] => cron/controllers/index
)
home/[me]
Ici, j'ai [me] à la place de mon nom d'utilisateur réel.
Des idées?
Avec get w ai-je besoin de copier les asteriks comme bien? Dois-je copier la commande entière comme vous le donnez? –
Génial, wget -O - -q -t 1 http://www.example.com/cron/run fonctionne! –
Les astérisques se rapportent à l'exécution du cron. Je pense que ceux que j'ai cités devaient courir le cron toutes les heures. –