2010-08-03 16 views
4

我想嘗試一些使用Magento模型和類的代碼片段(即將製作腳本)。不能從交互式shell中需要mage.php

的問題是,我得到以下錯誤:

[email protected]:/var/www/globaltrade$ 
[email protected]:/var/www/globaltrade$ php -a 

Interactive shell 
php > require './app/Mage.php'; 
Fatal error: Class 'Mage' not found in /var/www/globaltrade/app/Mage.php on line 31 

Mage.php的第31行是這樣的:

Mage::register('original_include_path', get_include_path()); 

沒有任何人有什麼可能是原因的想法?謝謝!

+3

這是最有可能的是,包含路徑設置,從你在「正常的有什麼不同「PHP。見http://www.cyberciti.biz/faq/how-do-i-set-php-include-path-in-php-ini-file/ – 2010-08-03 16:42:05

+0

我不是很精通php,但似乎有include_path沒有區別... 問題是否可以在文件Mage.php中使用類Mage在聲明之前使用,這是「php -a」shell的限制? 也許,作爲一個交互式shell,它試圖儘快評估所需文件的每一行,而不是先掃描整個文件。 任何想法? – fdierre 2010-08-04 16:01:07

回答

2

乍一看,你的問題似乎源於autoload。當你包含你的Mage.php文件時,它似乎會嘗試運行一個php autoload並使用Mage類,但是這樣做失敗。有可能他們的自動加載功能正常運行,從交互式shell運行時路徑可能不正確。