古いバージョンのpeclパッケージをインストールする方法


29

私はこのコードを持っています

    $passengerId = new \MongoId(oPassenger->getId());

    return $this->createQueryBuilder('Device')
        ->update()
        ->multiple(true)
        ->field('activated')->set(false)
        ->field('passenger')->unsetField()->equals($passengerId)
        ->field('_id')->notEqual($deviceId)
        ->getQuery()
        ->execute();

これは私の開発サーバーでは問題なく動作しますが、ローカルマシンではクラッシュします。

pecl listdevで実行すると戻ります

APC     3.1.13  beta
amqp    1.2.0   stable
intl    3.0.0   stable
mongo   1.3.7   stable

そして、ローカルリターンで:

mongo   1.5.6   stable
xdebug  2.2.5   stable

私のマシンのクラッシュメッセージは

"name":"MongoException","message":"Invalid object ID"},"code":500}

私はmongoのローカルバージョンをダウングレードしようとしましたが、peclの貧弱なドキュメントではそれを理解できませんでした。たとえば、私はこれを試しました:

sudo pecl upgrade -f -c channel://pecl.php.net/mongo-1.3.7

しかし、私channel does not existはすべてのチャンネル順列を取得し続けています。

また、mongod --versionローカルで実行するとdbバージョンv2.6.0が返され、devではdbバージョンv2.4.3が返されます

アイデア?

回答:


50

ダウングレードするには、これを試すことができます:

pecl install mongo-1.3.7


その後、peclリストに、それが機能したことが表示されます。


4
強制する必要があるかもしれません:pecl install -f mongo-1.3.7
ビショップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.