2011-12-07 4 views
2

공유 서버에 CS-CART 전자 상거래를 설정했습니다. 최근에 그것은 몇 가지 문제를 가지고 있었고, 나는이 사람처럼, MySQL의 오류를 받고 있어요 :서버/호스팅에 의한 mysql 쿼리 오류가 발생할 수 있습니까?

PHP Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 53 
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57 
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57 
PHP Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 64 
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 127 

이상한 것은 내가 무작위 임의 페이지에 오류를받을 수 있습니다. 그것은 특정 페이지에서 또는 특정 일을 한 후에 나타나는 것이 아닙니다.

일을 더 복잡하게 만드는 경우가 있습니다. 이것이 server/mysql 프로세스에 의해 발생할 수있는 가능성이 있습니까?

예를 들어, 웹 사이트가로드 중입니다. 모든 기능이 완벽하게 작동합니다. 대부분의 기능과 페이지를 테스트했지만 오류가 발생하지 않았습니다. 몇 시간 전 모든 것이 느리게로드되었고 일부 페이지는 위의 오류를 반환했습니다.

모든 의견을 부탁드립니다. 감사합니다.

답변

2

MySQL 서버에 연결할 수없고 PHP 오류 처리가 구현되지 않은 경우 이러한 오류가 발생할 수 있습니다. mysql_connect()는 연결이 실제로 작동하는 경우에만 데이터베이스 서버에 대한 MySQL 리소스 포인터를 반환합니다. 그렇지 않다면, 리소스 포인터는 비어 있으며, 라인 시작 부분에서 더 아래로 기능하여 불만을 토로합니다. 이 문제가 간헐적으로 발생하는 경우 이는 MySQL 서버 과부하의 전형적인 징후입니다.

공유 호스팅 서버를 사용하는 경우 다른 입주자가 모든 리소스를 다 써 버리는 경우가 있으므로 가능성은 거의 없습니다. 그러나 문제를 더 자세히 추적하기 위해 할 수있는 몇 가지 작업이있을 수 있습니다. phpMyAdmin 인터페이스를 통해 Status 탭에 액세스 할 수 있다면,이를 사용하여 MySQL 서버의 상태에 대한 통찰력을 얻을 수 있습니다.

예를 들어 수행하는 쿼리 수와 허용하는 동시 연결 수를 확인하십시오. 최대 연결 번호가 없어서 연결이 거부되는 경우가 있습니다 (일부 호스팅 환경에서는이 번호를 변경할 수 있음). 서버는 또한 실패 통계를 추적합니다. 문제에 대한 실마리를 줄 수 있습니다.

통계에 액세스 할 수 없거나 서버의 설정을 변경할 수없고 앱이 트래픽 과부하를 일으키지 않는다고 충분히 확신하는 경우 호스팅 제공 업체.

+0

이것이 이유 일 수 있다고 생각합니다. 오류는 너무 무작위로 다른 것으로부터옵니다. mysql 프로세스를 중단시키는 나쁜 SQL 쿼리 일 수 있습니까? 예를 들어 쿼리가 실행되면 mysql 프로세스가 오버로드되고 다른 모든 쿼리는 느리게 실행되어 오류를 반환합니다. mysql 프로세스의 시간 초과 또는 비슷한 문제가 있습니까? – ChrisNN

+0

예, 속도가 느린 쿼리 일 수 있습니다. 상태 페이지에는 실행 속도가 느린 쿼리와 발생 빈도도 표시됩니다. 대부분의 PHP 환경은 요청 당 타임 아웃 (보통 30 초에서 60 초 사이) 동안 MySQL 쿼리는 그렇지 않습니다. 원래 좀비 쿼리를 호출 한 프로세스가 오래 전에 죽었더라도 좀비 쿼리를 사용하는 것은 절대적으로 가능합니다. 다시 말하지만, 공유 호스팅 환경에서 누군가 다른 사람의 죄로 인해 고통당하는 것은 절대적으로 가능합니다. – Udo

+0

다른 사람도이 문제 (http://dev.mysql.com/doc/refman/5.0/en/gone-away.html)가 문제 일 수 있다고 언급했습니다. 어떻게 생각해? – ChrisNN

관련 문제