2012-08-25 4 views
0

일반적으로 PHP에서 SQL은 뷰어가 .php 파일을 여는 동안 항상 쿼리를 수행하기 위해 mysql_connect를 실행해야합니다. 한 번 연결하고 새로운 연결없이 php 파일을 여러 번 호출하는 방법이 있습니까? 스크립트가 원격 MySQL 서버에 연결하기 때문에 액세스 시간을 줄이기 위해이 스크립트를 사용할 것입니다.PHP는 항상 연결해야합니까?

+0

끊어진 모델에 대해 이야기하고 있습니까? –

+0

영구 연결 - http://www.php.net/manual/en/mysqli.persistconns.php - 여전히 연결을 설정해야하지만 더 빠르지 만 연결 "슬롯"의 수를 정의해야합니다 미리 받아 들여질 수 없다. –

+0

새 코드에 mysql_ * 함수를 사용하지 말라. 더 이상 유지 관리되지 않으며 커뮤니티에서 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. [** 빨간색 상자 **] (http://goo.gl/GPmFd)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 결정할 수없는 경우 [이 기사] (http://goo.gl/3gqF9)를 선택하면 도움이됩니다. 당신이 배우기를 원하면 [여기 PDO 튜토리얼] (http://goo.gl/vFWnC)을 참조하십시오. – PeeHaa

답변

2

PHP가 아니기 때문에 PHP는 stateless CGI 모델 (Apache 모듈, FastCGI 프로세스 또는 ISAPI 확장으로 사용되는 경우에도)과 밀접하게 관련되어 있기 때문에 이 고전적인 CGI 모델에서 페이지 응답을 생성 한 프로세스는 즉시 종료되므로 모든 데이터베이스 연결이 닫힙니다.

실제로 MySQL과 같은 RDBMS는 새로운 연결을 여는 작업이 매우 빠른 과정 (MySQL 서버가 웹 서버의 짧은 ping 거리 내에있는 한)으로 설계되어 있으므로 실제로는 문제가되지 않습니다. MSSQL과 같은 다른 시스템 (특히 ASP.NET 환경)은 실제 연결이 OS 또는 호스트 프로세스에 의해 유지되는 "연결 풀링"을 사용합니다.