프런트 엔드에서 라이브 사이트가 비어 있거나로드 중이며로드되지 않음


23

magento에서 Strangest Problem에 직면하고 있습니다. 우리는 1.9.0 버전을 사용하고 있습니다.

지난 2 개월 동안 사용중인 브라우저의 라이브 사이트는 "비어 있음"또는 "로드 유지"입니다. 이 브라우저에서 우리는 사이트를 여러 번 방문했습니다.

일부 브라우저에서는 제대로 작동합니다. 일부는 공백으로 표시됩니다.

그러나 모든 브라우저에서 백엔드 가 제대로 작동합니다.

우리는 크롬, 모질라, 오페라 및 다른 모든 브라우저 에서 문제에 직면하고 있습니다 .

1) 브라우저 히스토리 [캐시 및 쿠키]가 작동하지 않는 경우

2) 개인 창에서 동일한 사이트를 열면 작동합니다.

3) 새로 설치된 브라우저에서 사이트를 열면 일정 시간 동안 작동합니다. 사이트를 사용한 후 다시 비 웁니다.

4) var / session 폴더를 지우면 일정 시간 동안 모든 브라우저에서 작동하기 시작합니다. 다시 사이트 비우기.

5) 때로는 사이트가 계속로드되고로드되지 않습니다 ....

system.log & exception.log 확인 했습니다 . 그러나 이와 관련된 오류가없는 것 같습니다. 우리가 사용하는 보안을 위해 HTTPS를 페이지. 심지어 우리는 이 사이트를위한 라이브 Andriod 앱 을 가지고 있습니다. 때로는 치명적인 오류가 발생합니다.

**Fatal error**: Allowed memory size of 536870912 bytes exhausted (tried to allocate 85 bytes) in /lib/Zend/Db/Statement/Pdo.php or lib/Varien/Object.php or /lib/Varien/Db/Select.php or app/code/core/Mage/Core/Model/Config.php

php.ini에서 memory_limit = 1512 Mb를 설정했습니다

htaccess로 우리는 파일을 다음했다.

php_value memory_limit 1512M php_value max_execution_time 18000

우리는 이것을 주석 해제했습니다 :

ini_set('display_errors', 1);

프런트 엔드에 오류가 표시되지 않습니다. 이것은 아파치 오류 로그입니다.

하위 pid 23845 종료 신호 분할 오류 (11), / etc / apache2의 가능한 코어 덤프

이 문제를 해결하기 위해 고심하고 있습니다. 이 문제는 코드와 관련이 있습니까, 아니면 서버 측과 관련이 있습니까?

브라우저 쿠키가 주요 문제입니까? 그렇다면 모든 브라우저에서이 쿠키 문제를 해결하려면 어떻게해야합니까? 세션 폴더를 지우면 왜 작동하기 시작합니까?

사이트를 탐색 할 때 이러한 문제에 직면합니다. 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오


쿠키 문제 일 가능성이 있습니까? stackoverflow.com/questions/15491819/…
pzirkind

붙여 넣은 링크는 백엔드 용이지만 프론트 엔드에도 쿠키 문제가있을 수 있습니다. 쿠키의 수명으로 인해 서버의 타임 스탬프가 꺼져있을 수 있습니다.
pzirkind

우리의 경우 백엔드에서 @pzirkind는 모든 브라우저에 적합합니다. 코드를 통해 쿠키의 수명을 늘려야하는 것보다 서버의 타임 스탬프가 해제되어 있지 않습니다. 우리는 그것을 만들어야합니까?
Baby in Magento

마 젠토에 @Babby 가끔 서버가, 그것은 현재 날짜 이전에 만료되는 쿠키를 생성합니다 정확한 타임 스탬프가없는 경우 이렇게 할 때 고객의 재로드 사이트와 마 젠토 체크 쿠키의 유효
pzirkind

@pzirkind 질문이나 타임 스탬프에 게시 된 아파치 오류가이 빈 페이지의 원인 일 가능성이 있습니까?
Baby in Magento

답변:


10

먼저 .htaccess파일 에서 개발자 모드를 활성화 하고 파일 끝에 다음을 추가하십시오.

SetEnv MAGE_IS_DEVELOPER_MODE "true"

다음 index.php줄을 편집 하고 주석을 해제하십시오.

#ini_set('display_errors', 1);

라인 참조 :

다음으로 SSH를 통해 로그인하고 /tmp언급 된 세그먼트 결함 오류 에서 코어 덤프 파일을 찾으십시오 . 때로는 /사이트 자체 의 루트 또는 루트 디렉토리에 있을 수도 있습니다 /var/www/html/videomergerapp/.

코어 덤프 파일을 찾을 수 없으면 PHP / Apache에 지시문을 추가 할 수 있습니다.

여기를보세요 :

코어 덤프 파일 이 있으면 PHP를 구성 할 때 gdb(if --enable-debug)를 사용할 수 있습니다. 명령 행에서 다음을 발행하여이를 판별 할 수 있습니다.

php -i | grep debug또는 웹 서버 루트에 <?php phpinfo(); ?>내용으로 다음과 같이 PHP 스크립트 파일을 만들고 웹 브라우저를 통해 파일을보고 PHP 구성 값을 확인하십시오.

활성화되어 있지 않으면 PHP 자체에 대한 완전한 역 추적을 얻을 수 없지만 더 높은 수준의 시스템 호출 및 / 또는 아파치 역 추적 만 가능합니다.

코어 덤프 파일에 액세스 할 수있는 경우 다음과 같은 문제가 발생하면 실패 지점을 찾는 데 도움이되는 역 추적이 제공됩니다.

gdb /usr/local/apache2/bin/httpd /tmp/core.2027


프런트 엔드에서 임의의 문제 만 발생하고 백엔드에서는 절대 발생하지 않는 경우 대부분의 부호는 템플릿 코딩에서 발생 가능한 문제를 나타냅니다. 빈 페이지가 나타나면 개발자 모드 및 오류 표시를 활성화 한 경우 오류가 표시됩니다. 관리자에 로그인하여 모든 캐시를 비활성화하고 모든 캐시 및 캐시 스토리지를 비 웁니다.

그런 다음 app/etc/local.xml로컬 모듈 비활성화 로 들어가서 true로 설정하십시오.

<disable_local_modules>true</disable_local_modules>

그러면 오토 로더가에 모듈을로드 할 수 없게됩니다 app/code/local.

커뮤니티 모듈을 비활성화하려면 app/etc/modules활성 노드를 다음과 같이 false로 설정하여 비활성화하고 비활성화하는 각 모듈 정의 파일을 살펴 보는 것이 가장 쉽습니다 .

<active>false</active>

이렇게하면 제거 프로세스를 통해 타사 모듈이 문제의 원인을 일으키는 지 배제 할 수 있습니다. 참고 : disable_local_modules모든 NON-CORE 모듈을 통과 할 수는 없습니다 (Mage_ *는 무시하십시오!).

여전히 문제가 발생하면 시스템> 디자인으로 이동하여 기본 또는 기본과 같은 새로운 디자인을 정의하여 기본 템플릿 패키지를 일시적으로 시도합니다. 스톡 템플릿 패키지가 작동하면 템플릿 디자인 파일 (.phtml)에 오류의 원인이 있음을 알 수 있습니다.

내가 경험 한 많은 템플릿은 Mage::getModel()->load()foreach 루프 내에서 사용 하는 것이 좋지 않습니다 .

Magento에는 템플릿 파일을 스캔하여 다음과 같은 잘못된 코드가 있는지 확인하는 데 도움이되는 코드 분석 도구가 있습니다.

더 읽을 거리 :

또한 사용중인 캐시 및 세션 스토리지가에 정의 된 모든 사람에게 도움이 될 수 있습니다 app/etc/local.xml.

이것이 도움이되기를 바랍니다!


나는이 nad 당신에게 알려 드릴 것입니다 ....
아기 Magento

var / session 폴더를 지 웠습니다. 오늘까지 우리의 문제를 해결했습니다. 그러나 오늘이 문제가 다시 발생했습니다. 내가 .htaccess에 이것을 추가 한 것보다 : SetEnv MAGE_IS_DEVELOPER_MODE "true"및 주석을 제거하십시오 ini_set ( 'display_errors', 1); 이 줄. 및 <disable_local_modules> true </ disable_local_modules>입니다. 내가 tjis 오류를 가지고보다 : magento.stackexchange.com/questions/94559/…
Magento의 아기

세션을 자동으로 지우면 모든 문제가 해결되는 경우 일부 chnages를 수행 한 후 sessin을 지우지 않습니다. 쿠키 나 세션과 관련이 있다고 생각하지 않습니까? 이 문제를 해결할 방법이 있습니까?
아기 Magento

@BabyinMagento 제공된 정보를 바탕으로 문제가 해결 되었습니까? 그렇다면 비슷한 문제가 발생하는 다른 사람들의 문제는 무엇입니까? 감사.
B00MER

1
당신에 도움에 매우 감사드립니다. 세션 폴더를 지우고 varien.php에서 쿠키 관련 항목을 숨 깁니다. 그러나 여전히 영구적 인 해결책이 있는지 여부를 확인하기 위해 더 많은 시간을 기다려야합니다. 세션 폴더를 지우면서 해결책을 얻었습니다.
Magento의 아기

3

내 생각 엔 코드에 재귀가 있다는 것입니다. 파일을 편집하고 and 를 true로 lib/Varien/Db/Adapter/Pdo/Mysql.php설정 하십시오 . 이렇게하면 호출 스택이 파일에 기록되어 영원히로드 될 때 코드에 재귀가 있는지 알 수 있습니다. 이 파일은 매우 빠르게 계속 커지므로 사이트에서 문제가 시작되었다고 생각 될 때 이상적으로 활성화하십시오.$_debug$_logCallStackvar/debug/pdo_mysql.log

다른 방법은이를 일으킬 수 있다고 생각되는 버그가있는 모듈 / 확장을 비활성화하는 것입니다. 이것은 간단한 구성 가능한 추가 가격 정보 일 수도 있습니다. 일시적으로 사용 중지하고 문제를 예방하는 데 도움이되는지 확인하십시오.


"$ _debug"및 "$ _logCallStack"값을 true로 변경했습니다. 이제 pdo_mysql.log 파일을 기다리고 있습니다. 로그 폴더가 너무 많이 채워져 있으며 약 90GB의 로그가 있습니다. 2 주 전에 간단한 구성 가능한 확장을 설치 했는데이 문제는 2 개월이 지났습니다. 여전히 다른 버그가있는 모듈을 살펴 봐야합니다.
Magento의 아기

지금 까지이 파일 var / debug / pdo_mysql.log를 찾지 못했지만 시스템 및 예외 로그가 생성되었습니다. 나는이 로그를 주로 볼 수있다 : "라인 510의 lib / Varien / Simplexml / Config.php"
Magento의 아기

90GB의 로그? 와우! 다른 장소에 백업하고 파일을 비우십시오. 사이트 속도를 어느 정도 개선하는 데 도움이됩니다.
Kalpesh

그래 네가 맞아. 몇 시간 후에도 계속 삭제합니다. 이 문제로 인해 로그가 있습니까? 그리고 지금까지 나는 어떤 pdo_mysql.log를 찾지 못했습니다
에 Magento의 아기

$_debugFileMysql.php 파일에서 값을 확인하고 var디렉토리에 폴더 및 파일을 작성하는 데 필요한 권한이 있는지 확인하십시오 .
Kalpesh

2

고객 웹 사이트에서 동일한 문제가 발생했습니다. Magento에서 맬웨어를 확인하십시오.

이것은 잘 알려진 시나리오이며, 일반적으로 사용자의 게시물 내용을 외부 웹 사이트로 리디렉션하는 월웨어입니다.

index.php 검사를 시작하면 대개 해킹됩니다. 끝까지 코드를 스크롤하고, 라이센스 제목에서 오른쪽과 주석 처리 된 행 사이를 확인하십시오. 해커는 이러한 방식으로 코드를 숨기는 데 사용됩니다.

ISP가 차단 한 웹 사이트에 연결하려고 시도하기 때문에 "영원히로드"됩니다.

멀웨어를 찾고 "base64", "eval", "mcrypt"문자열을 검색하는 것이 매우 쉬워야합니다.


이것은 우리의 index.php => pastebin.com/N8xnWMa7
Magento의 아기

우리 사이트는이 문제 만 발생한 후 3 개월 전에 해킹당했습니다. 그러나 나중에 서버 측에서 많은 보안 조치를 취했습니다. 그러나 해킹 된 코드가 여전히 사이트에 존재하고 문제를 일으키는 것으로 생각합니까?
Magento의 아기

index.php는 괜찮지 만 증상은 고객이 해킹 한 일부 웹리스트에서 본 것과 비슷합니다. "base64", "eval", "mcrypt", "$ _POST"패턴을 찾아 전체 검색을 수행하는 것이 좋습니다. 그들은 당신에게 많은 오 탐지를 줄 것이므로 확인해야합니다. 잘못된 것을 찾지 못하면 캐시 그라인드 분석 또는 xdebug 단계별 분석을 제안합니다.
Phoenix128_RiccardoT

나는 우리 사이트 파일에서 그 단어들을 검색 할 것입니다.
Magento의 아기

나는 무제한의 시간을 찾고 있습니다 : "base64"텍스트 인코딩 및 디코딩 ........
Magento의 아기

2

두 개의 웹 사이트가있는 Magento에서 비슷한 동작을 경험했습니다. 이 사이트는 몇 페이지에 걸쳐 제대로로드 된 후 영원히로드되었습니다.

기본 URL 구성이 잘못되었습니다. 안전하지 않은 기본 URL이 올바르게 설정되어있는 동안 보안 기본 URL 설정이 잘못된 웹 사이트로 설정되었습니다.

따라서 관리자가 제대로 작동하지 않는 경우이 문제를 해결 하려면 올바른 웹 사이트 의 core_config_data 테이블 에서 값을 변경해야합니다 ( 예 : "http : //"및 뒤에 해당하는 값 필드에 슬래시로 올바른 URL 설정). 웹 사이트 ID를 나타내는 오른쪽 scope_id의 "web / unsecure / base_url"및 "web / secure / base_url"경로

여기에 이미지 설명을 입력하십시오

보안 URL은 데모 웹 사이트이기 때문에 http 전용입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.