当我从 /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