2

私はZendを初めて使用します。Zend 1.11を使用していて、Firebirdデータベースに正常に接続しようとしています。私が知る限り、すべてのphp_interbaseのものを有効にしています。ZendX firebirdアダプターが表示されますが、それでもこのメッセージが表示されます

警告:include_once(Zend \ Db \ Adapter \ Php \ Firebird.php)[function.include-once]:ストリームを開くことができませんでした:C:\ wamp \ bin \ php \ Zend_Framework \ library \Zend\にそのようなファイルまたはディレクトリはありません146行目のLoader.php

まるで私が話しているアダプターがわからないかのように。

ブートストラップにこれを使用しています

    protected function _initDb()
{
    $this->bootstrap('config');
    $config = $this->getResource('config');

    $db = Zend_Db::factory('Php_Firebird', array(
        'host'     => $config->Database->Server,
        'username' => $config->Database->Username,
        'password' => $config->Database->Password,
        'dbname'   => $config->Database->DBName
    ));

    return $db;
}

これは、これがZend \ dbのものではなくZendXのものであるという事実と関係があると思いますが、その例を見つけることができません。または、ZendXアダプターを使用して工場出荷時の機能から。'Php_Interbase'を使用しようとしましたが、それも見つかりませんでした(とにかく、フォルダーに表示されません)。そして、もちろん機能しなかったPdo_Firebirdも試しました。

私が間違っていることを私に指摘することができる誰かがこれをしましたか?

ありがとう

4

2 に答える 2

4

adapterNamespaceファクトリに渡す構成配列に追加する必要があります。ここの3番目の例を参照してください。また、アダプター名から削除'PHP_'してください。これにより、ファクトリへの呼び出しは次のようになります。-

$db = Zend_Db::factory('Firebird', array(
        'host' => $config->Database->Server,
        'username' => $config->Database->Username,
        'password' => $config->Database->Password,
        'dbname' => $config->Database->DBName,
        'adapterNamespace' => 'ZendX_Db_Adapter'
    ));
于 2012-06-15T11:27:09.947 に答える
1

次のようなものを試してください

$db = new ZendX_Db_Adapter_Firebird(array(
    //config part
));
于 2012-06-15T09:41:32.020 に答える