Pass Parameters In Cron URL - PHP

October 19, 2015 2.1k views
LAMP Stack PHP

How to pass parameters to file path? This is what I'm trying to do:

*/2 * * * * /usr/bin/php /var/www/mysite/public_html/cron/cron.php?group=3 >> /var/www/mysite/public_html/cron/cron.log 2>&1

I also tried without the question mark '?' but the cron does not run.

*/2 * * * * /usr/bin/php /var/www/mysite/public_html/cron/cron.php?group=3 >> /var/www/mysite/public_html/cron/cron.log 2>&1

To to pass the parameter?

Thanks

2 Answers

Generally you would not use this method to pass parameters to a CLI PHP script. Instead you would do something like:

*/2 * * * * /usr/bin/php /var/www/mysite/public_html/cron/cron.php 3 >> /var/www/mysite/public_html/cron/cron.log 2>&1

Using $argv[0] to get the value inside your script.

As the file is inside the public_html directory you can also use curl to issue a HTTP request via URL:

*/2 * * * * curl -s http://example.com/cron/cron.php?group=3 >> /var/www/mysite/public_html/cron/cron.log 2>&1
Have another answer? Share your knowledge.