繁体   English   中英

Cpanel Cron作业无法使用Magento工作?

[英]Cpanel cron jobs not working using 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共享Web主机(VentraIP)-无法使cron工作。 我在error_log中看到“ PHP注意:未定义索引:SCRIPT_FILENAME”和“ 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的时间表是:

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

如果您的网站正常运行,请尝试使用EasyApache重新编译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

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

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

终于我得到了结果。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM