2009-11-02 3 views
2

브라우저에서 PHP 페이지를로드하면 DB에 연결되어 SQL을 실행합니다 ... 이제 링크를 따라 가면 같은 웹 사이트 내 다른 페이지로 연결됩니다. 서버 측에서 무슨 일이 일어 났습니까? DB에 대한 내 첫 연결이 닫혔다가 다시 열렸습니까? 대부분의 경우 그런 일이 발생합니까?PHP와 db 연결

+0

고맙습니다. – Clara

답변

1

예, 대부분의 경우 데이터베이스 연결이 닫히고 다시 열립니다. 특히 PHP 인터프리터가 각 페이지에 대해 다시 시작되는 경우에는이를 수행 할 수밖에 없습니다.

일반적인 예외 (내가 직접 사용한 적은 있지만)는 mod_php.so (Apache의 경우)이며 사용자의 세션 상태의 일부로 DB 연결 개체를 저장하도록 조정합니다. . 그래도 그건 권장 관행이라고 생각하지 않습니다.

자세한 내용은 http://php.net/manual/en/features.persistent-connections.php을 참조하십시오.

0

예 일반적인 경우입니다. 그러나 MySQL에 관해서는 mysql_pconnect을 사용하여 지속적인 연결을 유지할 수 있습니다.

2

페이지가 PHP에 의해 처리되면 데이터베이스 연결이 닫힐 가능성이 매우 높습니다. 분명히 PHP 결과가 브라우저로 전송되어 사용자가 볼 수 있습니다.

MySQL을 실행한다고 가정하면 PHP 스크립트가 mysql_pconnect을 사용하여 연결이 열린 상태로 유지되는 유일한 경우입니다. 그러나 MySQL 서버와 PHP 서버가 다른 프로세스에서 사용하지 않는 저 대역폭 연결을 가지고 있지 않으면 일반적으로 사용하지 않는 것이 좋습니다.

0

PHP가 어떻게 개발되었는지에 따라 다릅니다. 각 트랜잭션 후에 닫히도록 코딩 된 경우 예를 들어 페이지를 볼 때마다 다시 열립니다.

데이터베이스 연결 풀의 개념도 있습니다. 연결이 사용되면 연결은 닫히지 않지만 다시 사용 대기중인 연결의 "풀"에 배치됩니다. 일단 연결이 사용되지 않고 지정된 시간이 경과하면 자원을 저장하기 위해 닫힙니다.

풀링 연결은 각 페이지를 다시로드 할 때 연결을 다시 열어야하는 처리 시간을 줄여줍니다.