2010-02-22 4 views
1

좋아요, 그래서이 스크립트는 적어도 3 개월 이상 똑같습니다. 코드가 전혀 수정되지 않았습니다. 내 서버 (VPS)도 수정되지 않았습니다. 그러나 이제는 24 시간 전에 시작되었으므로 스크립트의 한 줄에 페이지/스크립트의 시간 초과/충돌 (약 30 초 후에 흰색 페이지가 표시됨)이 발생합니다. 내가 좋은 페이지가로드 밖으로 그 라인을 코멘트 경우preg_match_all 충돌/도청?

$string = preg_match_all('/\[img\]([^\'"\[\]]+)\[\/img\]/is', substr($pag['page_text'], 0, 1024), $matches); 

:

문제의 코드 줄

이있다. 것은 그 선이 페이지에 중요하다는 것입니다. 누구 preg_match_all 함수가 페이지 충돌을 일으키는 이유를 알고 있습니까? 특히 서버 또는 스크립트에서 아무 것도 변경하지 않았기 때문에 특히 그렇습니다.

+0

'$ pag [ 'page_text']'에 무엇을 추가 할 수 있습니다. – Select0r

+0

preg_match_all은 반환 된 MySQL 쿼리의 각 행을 통과하는 함수에 있습니다. 그리고 현재 여기에있는으로, preg_match_all 호출을 호출 (6 개) 결과를 반환 http://pastebin.com/m21fe2b55 것은이 나는 내용이 동일하고 있기 때문에으로, preg_match_all 실패와는 아무 상관이없는 확신이다 지금 적어도 일주일 동안 콘텐츠. – nkspartan

+0

나는 preg_match_all() 때문에 타임 아웃이 발생했는지 의심 스럽다. 데이터베이스 엔드에 문제가없는 것을 100 % 확신합니까? –

답변

1

문자열의 크기와 정규 표현식 캡처가 memory_limit에 영향을 줄 수 있습니다.

관련 문제