[PHP-users 7556] Re: PEAR & MSSQL & FreeTDS

Yasushi Matsuura php-users@php.gr.jp
Fri, 17 May 2002 18:01:51 +0900 (JST)


Fri, 17 May 2002 17:31:39 +0900 に
"ard" <ard@fb3.so-net.ne.jp> さんから届いた
『[PHP-users 7554] Re: PEAR & MSSQL & FreeTDS』 について...

どうもまつうらです。

> はやしです。
> PEARのソースを見ると、
> 
> mssql.php:
>     function connect($dsninfo, $persistent = false)
>     {
>         if (!DB::assertExtension('mssql') && !DB::assertExtension('sybase'))
>             return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
> 
> って辺りで、既に上記エラーを返しているように思われるので、
> DSNの記述以前の問題のような気も。。。
> 
DB.phpに以下の記述を見付けました。

    function assertExtension($name)
    {
        if (!extension_loaded($name)) {
            $dlext = OS_WINDOWS ? '.dll' : '.so';
            @dl($name . $dlext);
        }
        return extension_loaded($name);
    }

これをmssql.phpで以下のように呼んでいます。

    function connect($dsninfo, $persistent = false)
    {
        if (!DB::assertExtension('mssql') && !DB::assertExtension('sybase'))
            return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);

うーん、これって mssql.soがないとエラーになりますね。
こんなものはない。。。。。

で、if以下をコメントにしたところ*うごきました!!*

うーん、freetds経由って考慮されていないんですかねぇ。。。。
4.2以上もコードが変わっていないか見てみます。

皆様アドバイスありがとうございました。
----------------------------------------------------------
まつうら@xdsl  <vfr@ru.xdsl.ne.jp>
pgp public key: http://www.xdsl.ne.jp/ru/vfr/pubkey.asc