Magento 1.9.2.4 – Cron.php Not Working Using Cronjob Setting from Cpanel

cronPHP

I just set cron job using cpanel of my site,

according to that cron.php runs in every 5 mins.

But it's not.
It is working whenever I execute cron.php directly from browser.

Here is the code of my cron.php :

chdir(dirname(__FILE__));
require 'app/bootstrap.php';
require 'app/Mage.php';
if (!Mage::isInstalled()) {
    echo "Application is not installed yet, please complete install wizard first.";
   exit;
}
// Only for urls
// Don't remove this
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);
Mage::app('admin')->setUseSessionInUrl(false);
umask(0);
$disabledFuncs = explode(',', ini_get('disable_functions'));
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
$isShellDisabled = true;
try {
    if (stripos(PHP_OS, 'win') === false) {
        $options = getopt('m::');
        if (isset($options['m'])) {
            if ($options['m'] == 'always') {
                 $cronMode = 'always';
            } elseif ($options['m'] == 'default') {
                 $cronMode = 'default';
            } else {
                 Mage::throwException('Unrecognized cron mode was defined');
             }
        } else if (!$isShellDisabled) {
            $fileName = escapeshellarg(basename(__FILE__));
            $cronPath = escapeshellarg(dirname(__FILE__) . '/cron.sh');

            shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -mdefault 1 > /dev/null 2>&1 &"));
            shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -malways 1 > /dev/null 2>&1 &"));
            exit;
        }
    }
    Mage::getConfig()->init()->loadEventObservers('crontab');
    Mage::app()->addEventArea('crontab');
    if ($isShellDisabled) {
        Mage::dispatchEvent('always');
        Mage::dispatchEvent('default');
    } else {
        Mage::dispatchEvent($cronMode);
    }
} catch (Exception $e) {
    Mage:: printException($e); //Please remove space after Mage:: p
    exit(1);
}

enter image description here

please check and let me know why its not working or call automatically, no mail send to customers when they purchase any product.

Best Answer

Issue Solved I just changed php /home1/user_name/public_html/cron.php to /usr/php/54/usr/bin/php -q /home1/user_name/public_html/cron.php. Here 54 is my hostserver php version.

Related Topic