次のコードを含む小さな PHP スクリプトがあります。
$m = new MongoClient(Settings::$db);
$db = $m->db;
// get the 'customers' collection
$customers = $db->customers;
// determine if this customer already exists
$c = $customers.findOne(array('email' => $email)); <--- throws
if (is_null($c)) {
$customers.insert(array(
'email' => $email,
'firstname' => $firstName,
'lastname' => $lastName
));
}
// get the 'payments' collection
$payments = $db->payments;
// add a record
$payments->insert(array(
'email' => $email,
'firstname' => $firstName,
'lastname' => $lastName,
'amount' => $price,
'token' => $token
));
しかし、それはエラーをスローしています:
PHP 致命的なエラー: 未定義の関数 findOne() の呼び出し ...
これで、ファイルをダウンロードしてext
ディレクトリにコピーしました。php_mongo.dll
さらに、次の行を に追加しましたphp.ini
。
extension=php_mongo.dll
それ以来、サーバーを何度も再起動しました。
拡張機能が読み込まれていないfindOne
ため、このメソッドを使用できないように感じます。php_mongo
しかし一方で、 を作成するときMongoClient
も、データベースとコレクションを取得するときにもスローしません。
何が起きてる?