cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_url — CUBRID 서버에 영구 연결 열기


설명

cubrid_pconnect_with_url(string $conn_url, string $userid = ?, string $passwd = ?): resource

CUBRID 서버에 지속적으로 연결합니다.

cubrid_pconnect_with_url()은 두 가지 주요 차이점이 있지만 cubrid_connect_with_url()과 매우 유사하게 작동합니다.

첫째, 연결할 때 함수는 먼저 동일한 호스트, 포트, dbname 및 사용자 ID로 이미 열려 있는 (영구) 링크를 찾으려고 시도합니다. 하나가 발견되면 새 연결을 여는 대신 식별자가 반환됩니다.

둘째, 스크립트 실행이 종료될 때 SQL 서버에 대한 연결이 닫히지 않습니다. 대신, 링크는 추후 사용을 위해 열린 상태로 유지됩니다(cubrid_close() 또는 cubrid_disconnect()cubrid_pconnect_with_url()에 의해 설정된 링크를 닫지 않습니다).

따라서 이러한 유형의 링크를 'persistent'이라고 합니다.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : 마스터 데이터베이스의 호스트 이름 또는 IP 주소
  • db_name : 데이터베이스의 이름
  • db_user : 데이터베이스 사용자의 이름
  • db_password : 데이터베이스 사용자 암호
  • alhosts : Active 서버에 접속이 불가능한 경우 Failover에 사용하는 Standby 서버의 브로커 정보를 지정한다. Failover를 위해 여러 브로커를 지정할 수 있으며 alhosts에 나열된 순서대로 브로커에 연결을 시도합니다.
  • rctime : 장애가 발생한 활성 브로커에 대한 연결 시도 사이의 간격입니다. 장애가 발생하면 시스템은 althosts가 지정한 브로커에 접속(failover)하고 트랜잭션을 종료하고 매 rctime마다 마스터 데이터베이스의 활성 브로커에 접속을 시도한다. 기본값은 600초입니다.
  • login_timeout : 데이터베이스 로그인에 대한 타임아웃 값(단위: msec.)입니다. 기본값은 0으로 무한 연기를 의미합니다.
  • query_timeout : 쿼리 요청에 대한 타임아웃 값(단위: msec.)입니다. 타임아웃 시 서버로 전달된 쿼리 요청을 취소하라는 메시지를 보낸다. 반환 값은 disconnect_on_query_timeout 구성에 따라 다를 수 있습니다. 요청을 취소하라는 메시지가 서버로 전송되더라도 해당 요청은 성공할 수 있습니다.
  • disconnect_on_query_timeout : 타임아웃 시 실행 중인 함수의 오류를 즉시 반환할지 여부를 설정합니다. 기본값은 false입니다.

메모:

?: PHP 연결 URL에서 식별자로 사용되는 것은 비밀번호에 포함될 수 없습니다. 다음은 "?:"가 포함되어 있어 연결 URL로 사용할 수 없는 비밀번호의 예입니다.

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

?가 포함된 비밀번호 또는 : 별도의 매개변수로 전달될 수 있습니다.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

user 또는 password가 비어 있는 경우 ":"를 삭제할 수 없습니다. 다음은 예시입니다.

$url = "CUBRID:localhost:33000:demodb:::";


매개변수

conn_url
서버 연결 정보가 포함된 문자열입니다.
userid
데이터베이스의 사용자 이름입니다.
passwd
사용자 암호.

반환 값

프로세스가 성공하면 연결 식별자이고 실패하면 false입니다.


Examples

예제 #1 속성이 없는 cubrid_pconnect_with_url() url 예제

                  
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>
                  
                

예제 #2 속성이 있는 cubrid_pconnect_with_url() url 예제

                  
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>
                  
                

기타