Cpanel cron作业使用magento不起作用



任何人请帮助我

域名:Godaddy

主机:VPS服务器

名称服务器:MNS01.DOMAINCONTROL.COM

名称服务器:MNS02.DOMAINCONTROL.COM


下面是我做的测试用例场景,得到了的结果

对于cron.php文件授予777 权限

分钟小时日月工作日设置为****

测试1:

/home/domain/public_html/cron.php

Result:
/home/domain/public_html/cron.php: line 1: ?php: No such file or directory
/home/domain/public_html/cron.php: line 2: syntax error near unexpected token `dirname'
/home/domain/public_html/cron.php: line 2: `chdir(dirname(__FILE__));'

测试2:

/usr/bin/php-q/home/domain/public_html/cron.php

Result:
Nothing display

测试3:

php-q/home/domain/public_html/cron.php

Result:
Nothing display

测试4:

/usr/bin/php/home/domain/public_html/cron.php

Result:
X-Powered-By: PHP/5.4.33
Content-type: text/html

测试5:

得到https://www.domain.com/cron.php

Result:
LWP will support https URLs if the LWP::Protocol::https module
is installed.

测试6:

得到http://www.domain.com/cron.php

Result:
Nothing display

测试7:

我首先将测试cron.php替换为cron.sh并进行了测试。得到了同样的结果。

测试8:

/home/domain/public_html/test.php

code:
<?php echo "hello world";?>
Result:
/home/domain/public_html/cron.php: line 1: ?php: No such file or directory
hello world

我没能让上面的任何建议发挥作用,但我确实找到了自己的解决方案。

我在一个专用服务器上有一个Magento网站,我把它移到了一个Cpanel共享网络主机(VentraIP)上,但无法让cron工作。我在error_log中看到"PHP通知:未定义的索引:SCRIPT_FILENAME"one_answers"PHP注意:未定义索引:SCRIPT _NAME"错误。我最终修改了cron.php(重命名为cron_for_cpanel.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;
}
Mage::app('admin')->setUseSessionInUrl(false);
umask(0);
try {    
    Mage::getConfig()->init()->loadEventObservers('crontab');
    Mage::app()->addEventArea('crontab');
    Mage::dispatchEvent('always');
    Mage::dispatchEvent('default');
} catch (Exception $e) {
    Mage::printException($e);
    exit(1);
}

Cpanel中的cron当时是:

/usr/bin/php -q /home/username/public_html/cron_for_cpanel.php

您应该在命令行上使用cron.sh文件(而不是GET),并指定sh路径

/bin/sh /home/domain/public_html/cron.sh

如果您的网站正在运行,请尝试使用EasyPache重新编译Apache和PHP。

如果重新编译不起作用,您可以尝试手动更新LWP(考虑这个错误:如果安装了LWP::Protocol::https模块,LWP将支持https URL。)

wget http://cpan.uwinnipeg.ca/cpan/authors/id/G/GA/GAAS/libwww-perl-5.812.tar.gz   
tar xzf libwww-perl-5.812.tar.gz
cd libwww-perl-5.812
perl Makefile.PL
make
make test
make install

新/最佳更新代码:

rpm -qi perl-libwww-perl
/scripts/realperlinstaller --force LWP

最后我得到了结果。。

php -q /home/username/public_html/cron.php

php -f /home/username/public_html/cron.php

php-cli -f /home/username/public_html/cron.php

参考:

http://support.hostgator.com/articles/cpanel/what-do-i-put-for-the-cron-job-command

最新更新