정리하면 작성하신 절차는 정상적인 설치 방법이고,
아래 항목들만 추가로 확인하면 대부분의 오류를 예방할 수 있습니다.
✅ 1️⃣ MongoDB PHP 확장 정상 로드 확인
설치/설정 후 반드시 아래로 확인하세요.
php -m | grep mongodb
또는 phpinfo():
php -i | grep mongodb
mongodb가 출력되면 확장이 정상적으로 로드된 상태입니다.
✅ 2️⃣ php.ini / 모듈 경로 주의사항
mongodb.ini 내용은 아래처럼 확장명만 두는 것이 안전합니다.
extension=mongodb
mongodb.so까지 쓰면
PHP 버전/빌드 환경에 따라 인식이 안 되는 경우가 있습니다.
✅ 3️⃣ PHP-FPM / CLI 버전 일치 여부
CLI와 FPM의 PHP 버전이 다르면
CLI에서는 되는데 웹에서는 안 되는 문제가 자주 발생합니다.
php -v
php-fpm7.2 -v
버전이 다르면 /etc/php/7.2/fpm/php.ini 쪽 설정을 다시 확인하세요.
✅ 4️⃣ Composer용 MongoDB 라이브러리도 필요
PHP 확장만 설치하면 끝이 아니라
**PHP 라이브러리(mongodb/mongodb)**도 같이 써야 합니다.
composer require mongodb/mongodb
사용 예:
require "vendor/autoload.php";
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->test->users;
$collection->insertOne(["name" => "nanumtip"]);
자주 발생하는 오류
❌ Class ‘MongoDB\Client’ not found
→ Composer 라이브러리 미설치
❌ Unable to load dynamic library ‘mongodb’
→ php.ini 경로 오류 / PHP-FPM 재시작 안 함
sudo systemctl restart php7.2-fpm
sudo systemctl restart nginx
✔️ 요약
- ✔️ PECL mongodb 확장 설치 → OK
- ✔️
phpenmod mongodb → OK
- ✔️ PHP-FPM / nginx 재시작 필수
- ✔️ Composer 라이브러리도 함께 사용
이 순서만 맞추면 Ubuntu + PHP + MongoDB 환경에서 문제없이 동작합니다.