當我從/殼/目錄中運行以下命令: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