How to run PHP scripts from cron jobs
Running PHP scripts from cron jobs
A common method for running PHP scripts from a cron job is to use a command-line program such as curl or wget. For example, the cron job runs a command similar to the following command:
Copycurl http://example.com/script.php
In this command, curl retrieves the web page, which then runs the PHP script.
Nevertheless, there is a better method to use cron jobs to execute PHP scripts on your website. You can use the PHP command-line interpreter to run the script directly. This approach is typically quicker and as successful. Using the PHP command-line interpreter, launch a script by using the following command:
Copy/usr/local/bin/php -q ${HOME}/public_html/script.php
In this example, the PHP command-line interpreter runs the script.php file in the user’s public_html directory. The -q option enables quiet mode, which prevents HTTP headers from being displayed.
Depending on the code in your PHP script, it may only run correctly when called from a specific directory. For example, if the script uses relative paths to include files, it will only run if it is called from the correct directory. The following command shows how to call a PHP script from a specific directory:
Copycd ${HOME}/public_html/; /usr/local/bin/php -q script.php
If your script requires special configuration options, you can use a custom php.ini file. The -c option allows you to call a PHP script using a custom php.ini file:
Copy/usr/local/bin/php -c ${HOME}/php.ini ${HOME}/public_html/script.php