In programming there are a number of ways to execute on an idea and get a result, executing a php file on your web server is no different. Below I will provide examples of how to execute a php script or other type of script over http using configurable cron jobs.
Just about all webhosts also provide a method of adding cronjobs through their control panels including cpanel and plesk.
Method 1: Execute the script using php from the crontab
Just like how you call your shell script (As show in our crontab 15 examples article), use the php executable, and call the php script from your crontab as shown below.
To execute myscript.php every 1 hour do the following:
# crontab -e 00 * * * * /usr/local/bin/php /home/john/myscript.php
Method 2: Run the php script using URL from the crontab
If your php script can be invoked using an URL, you can lynx, or curl, or wget to setup your crontab as shown below.
The following script executes the php script (every hour) by calling the URL using the lynx text browser. Lynx text browser by default opens a URL in the interactive mode. However, as shown below, the -dump option in lynx command, dumps the output of the URL to the standard output.
00 * * * * lynx -dump http://www.randomlinux.com/myscript.php
The following script executes the php script (every 5 minutes) by calling the URL using CURL. Curl by default displays the output in the standard output. Using the “curl -o” option, you can also dump the output of your script to a temporary file as shown below.
*/5 * * * * /usr/bin/curl -o temp.txt http://www.randomlinux.com/myscript.php
The following script executes the php script (every 10 minutes) by calling the URL using WGET. The -q option indicates quite mode. The “-O temp.txt” indicates that the output will be send to the temporary file.
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.randomlinux.com/myscript.php The -o and -O flags are only necessary if you want to log the output of the script that is being executed if this information is not needed these flags can be ignored.