PHP: running scheduled jobs (cron jobs) PHP: running scheduled jobs (cron jobs) php php

PHP: running scheduled jobs (cron jobs)


That's what cronjobs are made for. man crontab assuming you are running a linux server. If you don't have shell access or no way to setup cronjobs, there are free services that setup cronjobs on external servers and ping one of your URLs.


I'm answering this now because no-one seems to have mentioned this exact solution.

On a site I'm currently working on, we've set up a cron job using cPanel, but instead of running the PHP Interpreter directly (because we're using CodeIgniter and our code is mapped to a controller function, this probably isn't a great idea) we're using wget.

wget -q -O cron_job.log http://somehost/controller/method

-q is so that wget won't generate any output (so you won't keep getting emails). -O cron_job.log will save the contents of whatever your controller generates to a log file (overwritten each time so it won't keep growing).

I've found this to be the easiest way of getting 'proper' cron working.


If you have a cPanel host, you can add cron jobs through the web interface.Go to Advanced -> Cron Jobs and use the non-advanced form to set up the cron frequency. You want a command like this:

/usr/bin/php /path/to/your/php/script.php