最近、Apache1.26とPHP4.3からそれぞれ2.2.11と5.2.9にアップグレードしました。元の設定では、毎週日曜日に週刊ニュースレターを実行するようにスケジュールされたタスクが設定されていました。それは私のデータベース(Interbase / Firebird)に接続して、次の週にどのイベントが開かれているかを調べ、電子メールが送信されるアドレスのリストを取得します。もちろん、コマンドラインの実行がバージョン4から5にわずかに変更されたため、PHPのタスクの設定方法を変更する必要がありました。それが修正されると、本当の問題が頭に浮かびました。
コマンドラインからスクリプトを実行すると、データベースに接続できなくなりました。次のエラーが発生しますibase_errmsg
:ホスト「localhost」へのネットワーク要求を完了できません。ホストmachiceを見つけることができませんでした。未定義のサービスgds_db/tcp。
同じスクリプトがブラウザから完全に機能します。また、データベース接続コードは、ログイン、レコードの取得、およびレコードの更新のために、私のサイト全体で使用されています。
コマンドラインから実行したときにスクリプトがデータベースに接続しない理由を誰かが知っている場合は、助けてください。