SCRIPT_NAME & SCRIPT_FILENAME errors with cron

CRON Errors
You may encounter those errors in your log while inspecting those:
[23-Oct-2016 20:05:24 UTC] PHP Notice:  Undefined index: SCRIPT_NAME in /home/username/public_html/cron.php on line 39
[23-Oct-2016 20:05:24 UTC] PHP Notice:  Undefined index: SCRIPT_FILENAME in /home/username/public_html/cron.php on line 40

Those errors are fom the framework PHP CRON file.

Why is it happening?
While executing the cron, SCRIPT_NAME and SCRIPT_FILENAME aren't expanded by the system.

Solutions?
It is possible to include environment variables directly from the cron tab.

Global (This approach may naot work on certain OS)
1a) From a terminal, ecit the contab by executing the following command (it must be done from the web server user):
crontab -e

1b) Add the following to the top:
SCRIPT_NAME="cron.php"
SCRIPT_FILENAME="cron.php"

1c) Save and close the editor.


Per cron job (easier and safer to implement)
2) Prepend the following to your cron job:
export SCRIPT_NAME=cron.php; export SCRIPT_FILENAME=cron.php;

Example
*/5 * * * * export SCRIPT_NAME=cron.php; export SCRIPT_FILENAME=cron.php; php ~/public_html/cron.php  >/dev/null 2>&1

The error should now be gone following the crontab update.

  • 105 Users Found This Useful
Was this answer helpful?

Related Articles

Migrating your CMS from one server to another one

From time to time, you may need to push your CMS from your staging env to your production...

Why is Magento cron job not working?

cPanel + CageFS and CloudLinux's PHP switcher may cause problems with Magento CRON. Until this is...

There has been an error processing your request

Symptoms The following error message is shown instead of your usual Magento page: There has...

How to add and edit product ratings and reviews in Magento

In Magento each product can be rated and reviewed. Customers (both guests and registered ones)...

Clearing cache from the shell

Magento often needs to refresh it's cache. In some occasion, you may want to flush either...