- 締切済み
コマンドライン実行で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 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- みずの(@mizuno3)
- ベストアンサー率73% (192/263)
使ったことがないのですが、名前解決が出来ないように見受けられます。 localhostではなく、127.0.0.1にしてみてはどうでしょうか?
補足
IPアドレスを直接指定しても同じ結果です。 いろいろ調べてみて、以下の方法でとりあえずDBアクセスすることができました。 WINNT\system32\drivers\etc\services に下の1行を追加する gds_db 3050/tcp しかし、なぜブラウザ経由がOKでコマンドラインからは駄目なのかわかりません。