2013-10-31 3 views
1

Joomla 2.5.8을 사용하고 있으며 DB에서 데이터를 가져오고 TCPDF를 사용하여 사용자 정의 PDF 파일을 생성하는 사용자 정의 구성 요소가 설치되어 있습니다."MySQL 서버가 없어졌습니다"

사용자가 요청하면 모델은 DB에서 데이터를로드합니다.이 시간은 시간 제한이 없으며 요청은 몇 초 정도 걸리고 나중에 데이터베이스에 더 이상 쿼리가 전송되지 않습니다. 받은 데이터를 기반으로 PDF 파일을 생성하는 처리가 수행되고 생성 된 PDF 파일 목록이 레이아웃에 표시 될보기로 다시 조정됩니다.

모든 것이 잘 작동하는 것 같다 처리가 제대로 완료되지만, 아마도, 메뉴 모듈이로드되지 않은 모델에서 수행되는 긴 처리하고 다음과 같은 오류가 반환됩니다

MySQL 서버는 서비스 종료

SQL : 나는 PDF 파일 처리를 제거하는 경우, 오류가 없음을

SELECT m.id, m.title, m.module, m.position, m.content, 
    m.showtitle, m.params, mm.menuid 
FROM jos2_modules AS m LEFT JOIN 
    jos2_modules_menu AS mm ON mm.moduleid = m.id LEFT JOIN 
    jos2_extensions AS e ON e.element = m.module AND e.client_id = m.client_id 
WHERE m.published = 1 AND e.enabled = 1 AND 
    (m.publish_up = '0000-00-00 00:00:00' OR m.publish_up <= '2013-10-31 15:42:00') AND 
    (m.publish_down = '0000-00-00 00:00:00' OR m.publish_down >= '2013-10-31 15:42:00') AND 
    m.access IN (1,1,2,3,4) AND m.client_id = 0 AND 
    (mm.menuid = 101 OR mm.menuid <= 0) 
ORDER BY m.position, m.ordering 

참고. 나는이 처리에 소비 된 시간에 대해 아무런 통제력이 없지만, 아마도 나는 올바른 장소에서 그 일을하지 않을 것입니다.

또한 이전 게시물에서 MySQL ini 파일에서 조정할 수있는 매개 변수가 MySQL 구성에 있다는 것을 알고 있지만 이는 SQL Server가 내 공급자에 의해 호스팅 될 때 할 수있는 것이 아닙니다. 또한 오류가 발생하면 데이터베이스에 액세스 할 수 없습니다.

아무도 이미 그런 종류의 문제가 있습니까?

+0

해결책이 아니지만 Joomla 2.5.14로 사이트를 업데이트하십시오 – Lodder

답변

0

이것은 시간 초과 문제 일 수 있습니다.

많은 pdf 파일을 만드는 데 사용되는 단일 쿼리를 실행하고 있습니까? 그렇다면 시간 초과 일 수 있으며, 또는 pdf 파일 작성으로 인해 쿼리가 닫힐 수 있습니다.

만들려는 각 문서에 대해 쿼리를 다시 실행 해보십시오. 쿼리가 동일 할 경우 오버 헤드가 최소화됩니다.

당신이 게시 한 쿼리는 매우 빠른 것처럼 보입니다. 모든 쿼리가 인덱스를 빠르게 유지하도록하기 때문입니다. (해결책은 아니지만 문제를 해결할 수 있음). 마지막으로 쿼리가 실시간으로 실행되는 경우 문서를 한 번에 하나씩 작성하고 Ajax 호출로 결과를 표시 할 수 있으므로 서버는 한 번에 하나의 문서 만 생성하므로 시간 초과되지 않을 수 있습니다. 이렇게하면 사이트가 사용자에게보다 빠르게 표시됩니다.

또한 PHP 스크립트 set_time_limit(200);을 늘려보십시오. 효과적 일지 모르겠지만 페이지를 보려면 3 분 정도 기다려야 만 비참한 사용자 경험이 될 것입니다. 타임 아웃 전에 reload를 누르기 만하면됩니다.

+0

Thanks Riccardo. 그동안 저는 AJAX 호출을 사용하고 페이지가 완전히로드 된 후 각 문서를 개별적으로 처리하기 위해 리팩터링을 수행했습니다. 이것은 사용자가 언급 한 것처럼 사용자를위한 단계별 피드백과 함께 작동하는 방법과 정확히 동일하게 작동합니다. – FJC35

관련 문제