簡體   English   中英

不能重新宣布Magento班

[英]Cannot redeclare class Magento

我有一個有趣的問題。 我網站的前端加載正常,但是當我嘗試導航到:

domain.com/index.php/admin

我得到一個白頁。 我啟用了調試模式,它顯示以下錯誤:

Array ( [type] => 64 [message] => Cannot redeclare class Mage_Admin_Model_Session [file] => /var/www/vhosts/domain.co.uk/sub-domain.co.uk/includes/src/__adminhtml.php [line] => 504 )

自從發現這個新錯誤以來,我一直試圖評論/刪除它無法在__adminhtml.php文件中重新聲明的每個類,一個接一個..只是發現那時我已經全部注釋了它們並刷新了管理員頁面,它沒有任何錯誤。 只是一個白頁。

有任何想法嗎?

以下是一些調試技巧,您可以嘗試找出問題的原因。

此代碼段將顯示先前定義的給定類的位置:

$className = 'Foo';
if ( class_exists( $className ) ) {
  $rc = new ReflectionClass($className);
  print __FILE__.':'.__LINE__. ": Class $className already defined in " 
    . $rc->getFileName() . ":" . $rc->getStartLine();
}

你可以為功能做同樣的事情; 只需使用function_existsReflectionFunction

它看起來像某個地方包含/需要兩次文件。 如果它是經常包含的__adminhtml.php文件,則可以添加對debug_print_backtrace()的調用以查看其中包含的內容。

此外,如果您有自定義文件,則可以使用require_once而不是require

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM