2016-10-04 7 views
0

새 서버의 다른 서버에서 concrete5 버전을 설치하려고합니다.concrete5의 메모리 누출

구성 및 데이터베이스를 복사하면 얼마 동안로드 된 다음 오류 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

이 문제로 인해 몇 시간이 지났기 때문에 동료 googler가 볼 수 있도록 1 년 후 답변을 드리겠습니다.

해결 방법을 찾을 수 없습니다. 그래서 : 문제는/package/폴더에 파일이 없습니다. 이로 인해 현지화가이 패키지를 계속해서 검색했습니다. 그 재귀 영원히.

문제는 다른 서버 나 다른 PHP 버전이 아닙니다. 마지막으로 발견 한 일부 누락 된 파일입니다. 그 이유는 로케일을 en_US로 변경할 때 작동합니다 - 번역기가 실행되지 않습니다.

+1

이 문제는 concrete5를 제거하지 않고 제거 된 패키지 때문에 발생합니다. Remo는 최근 concrete5-legacy의 마스터 브랜치에서이 문제를 수정했습니다. https://github.com/concrete5/concrete5-legacy/pull/1956 –

+0

을 참조하십시오. 실제로 이전에 패키지를 제거했지만 작동하지 않습니다. 하지만 알고, thx michele - 특히 귀하의 모든 번역 작업에 대한 좋은 :) – Nukey