2013-12-23 33 views
0

當我試圖訪問我的Magento站點或管理面板我收到此錯誤:我收到一個PHP錯誤,當我訪問我的Magento站點

Fatal error: require_once() [function.require]: Failed opening required '__DIR__/composer/autoload_real.php' (include_path='/homepages/1/d372694303/htdocs/Magento 1.8/app/code/local:/homepages/1/d372694303/htdocs/Magento 1.8/app/code/community:/homepages/1/d372694303/htdocs/Magento 1.8/app/code/core:/homepages/1/d372694303/htdocs/Magento 1.8/lib:.:/usr/lib/php5') in /homepages/1/d372694303/htdocs/Magento 1.8/app/code/local/Elite/vendor/autoload.php on line 5 

我所做的只是禁止從管理面板中的所有緩存和現在我無法訪問該網站。有沒有辦法重新啓用緩存?我試圖通過sql命令通過phpmyadmin重新啓用緩存

UPDATE `core_cache_option` SET value=1; 

這並沒有解決我的問題。

+0

似乎對['__DIR__'](http://www.php.net/manual/en/language.constants.predefined.php)魔術常量的引用已被放入字符串文字中,而是比連接到它。或者,如果您使用v5.3.0之前版本的PHP(添加了該常量),那麼對它的任何引用[將隱式處理](http://php.net/language.constants.syntax)作爲一個(不加引號)的字符串文字。 – eggyal

+0

這是我改變的東西嗎?哪個文件最可能位於?我很抱歉,我對php知之甚少。 – lodge93

回答

0

這看起來像具體到你的系統中的錯誤。無論是自定義開發,奇怪的東西在第三方擴展,或兩者兼而有之。

PHP爲您提供調試錯誤所需的所有信息。

如果您解析除了您的錯誤信息,先有錯誤

Fatal error: require_once() [function.require]: Failed opening required 'DIR/composer/autoload_real.php'

正如其他人所指出的那樣,魔術不斷__DIR__被列入字面上的字符串。

其次,在括號中,PHP讓你知道請求

(include_path=' 
/homepages/1/d372694303/htdocs/Magento 1.8/app/code/local: 
/homepages/1/d372694303/htdocs/Magento 1.8/app/code/community: 
/homepages/1/d372694303/htdocs/Magento 1.8/app/code/core: 
/homepages/1/d372694303/htdocs/Magento 1.8/lib:.: 
/usr/lib/php5') 

這些看起來非常標準的(雖然我個人將不包括在「Magento的1.8」路徑名稱中的空格在包括路徑,但我老了)

三,最後,PHP告訴你哪裏發生了錯誤

in /homepages/1/d372694303/htdocs/Magento 1.8/app/code/local/Elite/vendor/autoload.php on line 5

因此第5行app/code/local/Elite/vendor/autoload.php是發生錯誤的地方。

至於爲什麼它發生,它看起來像有人試圖使用作曲家在Elite文件夾中安裝的東西。這可能是Elite提供的擴展/主題如何發佈的,或者它可能是另一個開發人員對系統做的事情。

當您禁用在Magento中緩存時,Magento通常從緩存中取出的東西需要重新生成。這意味着更多,不同的代碼運行。重新開啓緩存並不能解決這個問題,而Magento首先需要緩存一些東西,然後才能從緩存中提取緩存。關於發生什麼的最佳猜測是開發人員正在研究app/code/local/Elite文件夾中的某些內容,這些內容通常在系統緩存時不會調用。

+0

非常感謝,這是非常徹底的。我一定會發現確切的修復,一旦我找到它,那麼其他可能遇到同樣問題的人將會得到答案,但我很肯定這會讓我朝着正確的方向前進。你是對的,作爲一個狂熱的Unix/Linux用戶,我應該知道更好,然後把目錄名稱中的空格:) – lodge93

0

您的SQL語法存在錯誤,請嘗試以下操作。

UPDATE `core_cache_option` SET value=1; 

應該

UPDATE `core_cache_option` SET `value`='1'; 
+0

錯誤在哪裏? 'VALUE'不是[保留字](http://dev.mysql.com/doc/en/reserved-words.html)(而'VALUES')。 – eggyal

+0

謝謝,我運行了更新後的SQL語句,但這似乎並沒有解決我的問題。 – lodge93

+0

根據他原來的查詢,他把「value」作爲列名而不是保留字,它應該被兩個's包圍,以及他想要設置的實際int應該被'的。 – user3055292

相關問題