2016-10-04 110 views
0

我正嘗試在新服務器上安裝來自不同服務器的concrete5版本。混凝土內存泄漏5

當我複製配置和數據庫加載一段時間,然後引發錯誤500. PHP錯誤日誌告訴我,這是一個內存限制問題。

我已經將內存限制設置爲2GB,並且它仍然達到了極限。我啓用了xdebug並檢查了什麼是問題。看起來好像一些遞歸函數一遍又一遍地被調用。這裏是堆棧跟蹤的一個片段:

[04-Oct-2016 21:10:47 Asia/Kuwait] PHP Stack trace: 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 1. {main}() C:\inetpub\wwwroot\tce\index.php:0 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 2. require() C:\inetpub\wwwroot\tce\index.php:2 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 3. require() C:\inetpub\wwwroot\tce\concrete\dispatcher.php:94 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 4. Concrete5_Library_Localization::init() C:\inetpub\wwwroot\tce\concrete\config\localization.php:41 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 5. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:8 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 6. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 7. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 8. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 9. t() C:\inetpub\wwwroot\tce\concrete\core\libraries\loader.php:334 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 10. Concrete5_Library_Localization::getTranslate() C:\inetpub\wwwroot\tce\concrete\startup\localization.php:12 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 11. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:159 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 12. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 13. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 14. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 15. t() C:\inetpub\wwwroot\tce\concrete\core\libraries\loader.php:334 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 16. Concrete5_Library_Localization::getTranslate() C:\inetpub\wwwroot\tce\concrete\startup\localization.php:12 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 17. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:159 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 18. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 19. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62 
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP 20. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117 

有人可以說這可能是什麼問題?

回答

0

由於這個問題也讓我失去了幾個小時,所以我會在一年後回覆它,讓Google的同伴們看到。

我無法找到解決方案。所以:問題是缺少/ package /文件夾中的文件。這導致本地化一遍又一遍地搜索這個軟件包。它的遞歸永遠。

問題不在於不同的服務器,也不是另一個PHP版本,因爲我最終發現了 - 只是一些丟失的文件。這就是爲什麼當你將語言環境改爲en_US時它會工作 - 譯者不會運行。

+1

我可以證實,這個問題是由包tgat已經被刪除而沒有從concrete5中卸載它們引起的。 Remo最近在concrete5-legacy的master分支上修復了這個問題:請參閱https://github.com/concrete5/concrete5-legacy/pull/1956 –

+0

實際上,我之前已經卸載了該軟件包,但它不起作用。但很高興知道,thx michele - 特別是所有翻譯工作:) – Nukey