当我从/壳/目录中运行以下命令:Magento的shell命令致命错误:类“法师”找不到
php -f regularPromos.php
为什么我收到此错误?
PHP Fatal error: Class 'Mage' not found in /var/www/vhosts/yoohoo/httpdocs/shell/regularPromos.php on line 28
这是regularPromos.php:
<?php
require_once 'abstract.php';
class Mage_Shell_RegularPromos extends Mage_Shell_Abstract
{
//Day of week to repeat promotion
protected $day;
//ID of promotion
protected $promoID;
//Rule process object
protected $rule;
public function Mage_Shell_RegularPromos($promoID, $day)
{
$this->day = $day;
$this->promoID = $promoID;
$this->rule = Mage::getModel('salesrule/rule');
}
public function run()
{
date_default_timezone_set('America/New_York');
$nextWeek = date('Y-m-d', strtotime('next '. $this->day));
$rule = $rule->load($this->promoID);
$rule->setFromDate($nextWeek)
->setToDate($nextWeek)
->save();
}
}
$shell = new Mage_Shell_RegularPromos(7, 'monday');
$shell->run();
?>
每所有的SO线程我能找到这个问题:
我试着编译器上运行/关闭/清除/编译,具有相同的错误信息
我已经通过管理面板清除了缓存,并手动删除了/ var/cache /中的所有内容 。
APC不显示在phpinfo()中,所以不应该是 的问题。
我可以运行compiler.php就好了,所以我假设我刚刚在我的php上面犯了一个错误。
我跑Magento的1.7 CE,PHP 5.3.3
[这应该有帮助吗?](http://www.magentocommerce.com/boards/viewthread/193459/#t327897) – karthikr
不,因为“include_once”Maged/Controller.php“;”不在我的系统中的该文件中。我也不认为这与下载器有什么关系,这似乎是更新Magento,对吗? – werdnanoslen