2010-03-23 4 views
1

누군가가 내 질문에 신속하게 나를 도울 수 있기를 바랍니다. 사이트로PHP 데이터베이스 연결 오류

내가 빌드가 가끔 오류와 함께 반환

경고가 : mysqli :: mysqli() [mysqli.mysqli] : (08004/1040) :

경고 너무 많은 연결 : mysqli를 :: query() [mysqli.query] : mysqli를 가져올 수 없습니다.

이제 처음에는 각 페이지의 끝 부분에 연결이 끊어져서 이런 일이 발생했다고 생각했습니다. 페이지/스크립트 시작 부분

$ conn = n ew mysqli ($ 호스트, $ 사용자 이름, $ 비밀 번호, $ 데이터베이스);

과 가까운 매우 마지막 통화

$ conn->에서

();

또한 열려있는 결과 집합을 닫습니다.

오늘 사이트를 액세스하고이 오류를보고 시간의 주위에 내 로그 파일을 보면, 나는 약 12시를 액세스하고 첫 페이지도로드 wouldnt가에서, 다음 날이 오류를했다. 그 전에 1 명의 사람은 11:30와 그 다음 10:30 (정확하게 무거운 교통이 아니라) 주위에 visted했다.

나는 호스트가 매우 조용하고 그들과 접촉 할 수있는 방법이 없으며, 지원 이메일을 무시할 수있는 방법이 없다고 생각한다. 나는 지금 그들이 매우 좋지 않다고 생각했다. 심하게 공유 MySQL 서버를 설정 했습니까?

내가 이것을 정리할 필요가있는 어떤 생각이나 제안이라도 훌륭 할 것입니다! 사전에

감사합니다! 해당 오류는 서버의 max_connections 설정이 초과되었음을 의미로 그것은 MySQL 서버 같은 소리

답변

4

는 너무 많은 계정에 의해 공유되고있다. 연결을 사용하는 다른 트래픽이 많은 고객이있을 수 있습니다. (공유 MySQL 서버입니다.)

나는 PHP가 PHP의 마지막 부분에 리소스를 자동으로 닫습니다. 요청 (항상 연결 등을 명시 적으로 닫는 것이 가장 좋습니다.) 그래서 연결을 유지하는 스크립트는 아니라고 생각합니다.

계속해서 호스팅 제공 업체에 문의해야하며, 걱정 스럽거나 제공 업체를 옮길 것을 고려해야합니다. 또한 오류가 발생하면 로그를 유지하고 문제가 있음을 인정하지 않으면 증거로 필요합니다.

또한이 페이지에 제공을 참조 할 수 있습니다 : http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html.

+0

답장을 보내 주셔서 감사합니다 ... 그럼 내 잘못을 생각하지 마라! :) – Dori

+0

그렇게 보이지 않습니다. 당신이 당신의 공급자와 접촉한다면, MySQL 서버에 대해 "SHOW PROCESSLIST"를 실행 한 결과를 조사하라고 지시하십시오 - 어떤 서버에서 어떤 연결이 나오는지 보여줍니다. –

+0

또한 스크립트가 영구 연결을 작성하고 있지 않은지 확인하십시오. 영구 연결을 원하지 않으면 실제로 연결이 올바르게 닫혔는지 확인해야만 호스트 이름이'p :'로 시작되지 않는지 확인하십시오. –