2015-02-03 4 views
0

나는 virtumart (Joomla)의 앞면에 카테고리 바이스 검색 기능을 개발했습니다. 로컬 서버에서는 정상적으로 작동하지만 서버에 업로드하면 mysql 연결 시간 초과 오류가 발생합니다. 그것은 아래와 같이 저를 보여줍니다MySQL 연결 시간 초과 문제

Attention no standard shopper group set MySQL server has gone away SQL=SELECT * FROM `sxrth_virtuemart_shoppergroups` WHERE `default` = "2" AND (`virtuemart_vendor_id` = "1" OR `shared` = "1") AND `published`="1" 
Attention no standard shopper group set MySQL server has gone away SQL=SELECT * FROM `sxrth_virtuemart_shoppergroups` WHERE `default` = "2" AND (`virtuemart_vendor_id` = "1" OR `shared` = "1") AND `published`="1" 

없음 숍 환율 정의! http://www.domain.com/administrator/index.php?option=com_virtuemart&view=user&task=editshop 로 이동 내가

set_time_limit(o); 
ini_set('mysql.connect_timeout', 14400); 
ini_set('default_socket_timeout', 14400); 

같은 몇 가지 옵션을 시도하지만 나를 위해 작동하지 않습니다

(나는 이미이 링크를 virtuemart 허용 통화의 통화 및 목록을 적용).

또한 publc_html 폴더에 php.ini 파일을 만들었습니다. 아직

register_globals = off 
allow_url_fopen = off 
mysql.connect_timeout = 600 
mysql.default_socket = 600 
expose_php = Off 
max_input_time = 600 

max_execution_time 600 
memory_limit = 360M 

아래 그건 내가 솔루션을 얻기에 적용해야한다 조치 나

작동하지 않는 것 같습니다?

+0

오류 'MySQL 서버가 사라졌습니다'는 것은 MySQL 쿼리 사이에 긴 연산이 있음을 의미합니다. 예를 들어, 1 MySQL 쿼리를 실행하는 경우 몇 분 잠을 자고 (MySQL INI 파일의 기본 연결 시간 초과 참조) 두 번째 MySQL 쿼리를 실행하면이 오류가 발생합니다. 그래서,이 긴 장소를 찾아 고쳐야합니다. 또는 오랜 시간 후에 MySQL에 다시 연결하십시오. – stepozer

+0

MySQL에서 php.ini 파일에 다시 연결해야합니까? – Nikul

+0

Go Daddy와 같은 호스팅 제공 업체의 멀티 테넌트 (Multitenant) MySQL 서버는 가끔 고객 쿼리에 쿼리 기간 제한을 적용합니다 (더 적은 하드웨어에 더 많은 고객을 배치하기 위해). 서버는 기간이 만료되면 클라이언트와의 연결을 끊습니다. 그들은 또한'max_execution_time'과'memory_limit' 설정을 당신이 설정하려했던 것보다 훨씬 적게 제한합니다. 이것이 당신이보고있는 것일 수 있습니까? –

답변

0

마지막으로 mysqli_reconnect을 수행하고 특정 필드에 색인을 지정하면 작동합니다.