[英]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_exists
和ReflectionFunction
。
它看起來像某個地方包含/需要兩次文件。 如果它是經常包含的__adminhtml.php
文件,則可以添加對debug_print_backtrace()
的調用以查看其中包含的內容。
此外,如果您有自定義文件,則可以使用require_once
而不是require
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.