• 締切済み

コマンドライン実行でDBにアクセスできない

PHPで FirebirdのDBにアクセスするために、以下のようなスクリプトを作成しました。  $host = 'localhost:D:\testDB\test3.fdb';  $username = 'SYSDBA';  $password = 'masterkey';  $dbh = ibase_connect($host, $username, $password);  $stmt = 'SELECT * FROM test_table';  $sth = ibase_query($dbh, $stmt);       : これをWEBサーバで動作させるとうまくいくのですが、コマンドラインから実行すると以下メッセージが出てDBに接続することができません。 (ibase_connect関数のもどりで null が戻ってきています) Warning: ibase_connect(): Unable to complete network request to host "localhost". Failed to locte host machine. Undefined service gds_db/tcp. DBの指定でlocalhostをIPアドレス直接入力したり、DBファイルのパスのみの指定にして試してみたのですが、やはりブラウザではOK、コマンドラインでは駄目でした。 又、PDOを使ってアクセスしてみても、コマンドラインから実行した場合は駄目でした。 コマンドラインからDBアクセスできるように、何か必要な設定などがあるのでしょうか。  環境   PHP:5.2.4   DB:Firebird2.0.3   WEBサーバ:Apache2.2.4   OS:Windows2000 よろしくお願いします。

みんなの回答

回答No.1

使ったことがないのですが、名前解決が出来ないように見受けられます。 localhostではなく、127.0.0.1にしてみてはどうでしょうか?

fpac
質問者

補足

IPアドレスを直接指定しても同じ結果です。 いろいろ調べてみて、以下の方法でとりあえずDBアクセスすることができました。  WINNT\system32\drivers\etc\services に下の1行を追加する  gds_db 3050/tcp しかし、なぜブラウザ経由がOKでコマンドラインからは駄目なのかわかりません。

関連するQ&A