개요
이 페이지에는 다양한 설정을 사용하여 PHP 애플리케이션 을 MongoDB 에 연결하는 방법을 보여주는 코드 예제가 포함되어 있습니다.
팁
이 페이지의 연결 옵션에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 연결 예시 사용하려면 코드 예시 샘플 애플리케이션 또는 자체 애플리케이션 에 복사합니다. 코드 예제의 모든 자리 <hostname> 표시자(예:)를 MongoDB deployment 에 맞는 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
프로젝트 에 MongoDB PHP 라이브러리가 설치되어 있는지 확인합니다. MongoDB PHP 라이브러리 설치에 학습 보려면 다운로드 및 설치 가이드 를 참조하세요.
다음 코드를 복사하여 새
.php파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
팁
The require statement in the sample application loads the MongoDB PHP Library and assumes that the vendor directory is in the same directory as your application file. If your application file is located elsewhere, adjust the path to vendor/autoload.php accordingly.
1 2 3 require __DIR__ . '/vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 10 $client->test->command(['ping' => 1]); 11 echo 'Successfully pinged the MongoDB server.', PHP_EOL; 12 } catch (MongoDB\Driver\Exception\RuntimeException $e) { 13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage()); 14 }
중요
백분율 인코딩
사용자 이름 과 비밀번호를 MongoDB URI에 포함하기 전에 퍼센트 인코딩해야 합니다. 메서드를 사용하여 rawurlencode() RFC 3986 에 지정된 URI 구문에 따라 이러한 값을 인코딩할 수 있습니다. 옵션 배열 매개변수로 사용자 이름이나 비밀번호를 MongoDB\Client 생성자에 전달할 때 사용자 이름 이나 비밀번호를 퍼센트 인코딩하지 마세요.
연결
Atlas
Atlas connection strings use the mongodb+srv prefix and include your database user's credentials. The following code shows how to connect to a MongoDB Atlas deployment:
$uri = 'mongodb+srv://<db_username>:<db_password>@<cluster-url>/'; $client = new MongoDB\Client($uri);
Atlas 배포서버 서버에 연결하는 방법에 학습 보려면 연결 대상 가이드 에서 Atlas 를 참조하세요.
로컬 배포
다음 코드는 로컬 MongoDB deployment 에 연결하는 방법을 보여줍니다.
$uri = 'mongodb://localhost:27017/'; $client = new MongoDB\Client($uri);
참고
$uri 매개 변수를 지정하지 않으면 연결 URI는 기본적으로 'mongodb://127.0.0.1:27017' 로 설정됩니다.
로컬 배포에 연결하는 방법에 학습 보려면 연결 대상 가이드 의 로컬 배포 배포서버 참조하세요.
복제본 세트
다음 코드는 복제본 세트 배포서버 에 연결하는 방법을 보여줍니다.
$client = new MongoDB\Client( 'mongodb://<replica set member>:<port>/', ['replicaSet' => '<replica set name>'], );
$uri = 'mongodb://<replica set member>:<port>/?replicaSet=<replica set name>'; $client = new MongoDB\Client($uri);
팁
하나의 호스팅하다 가 다운되었을 때 복제본 세트 배포서버 에 대한 연결을 유지하려면 연결 URI에 여러 복제본 세트 멤버를 제공할 수 있습니다.
복제본 세트에 연결하는 방법에 학습 보려면 연결 대상 가이드 에서 복제본 세트 복제본 세트 참조하세요.
Stable API
다음 코드는 MongoDB 인스턴스 에 대한 연결을 위해 Stable API 를 활성화 하는 방법을 보여줍니다.
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions, );
Stable API 에 대해 자세히 학습하려면 Stable API 로 연결 가이드를 참조하세요.
네트워크 압축
다음 코드는 연결에 대한 Snappy, zlib 및 Zstandard 압축 알고리즘을 지정하는 방법을 보여줍니다.
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'], );
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib'; $client = new MongoDB\Client($uri);
네트워크 압축에 대해 자세히 학습 네트워크 트래픽 압축 가이드 참조하세요.