質問: phpのMDB2について質問です。 下記のようなコードを書いてみたのですが、ブラウザ経由だと問題ないのに、php sample.php という形でコマンドラインから実行をすると"Fatal error: MDB2 Error: not found in ***"というエラーが出てしまいます。 getMessage(), E_USER_ERROR); } ?> ネットで調べると、MDB2_Driver_sqliteが入っていない場合によく出るエラーだということは分かっているのですが、MDB2_Driver_sqliteもインストール済みです。ブラウザ経由でアクセスする際には問題ない(DBにクエリを投げて結果を取得できることも確認済み)のも確認しています。 apache経由の実行ではないので、何かしらのパスが通ってないとかなのかな・・と思ったのですが、何を試していいものやら途方にくれてしまっています。 お手数ですが何かわかるかたはお教えいただけますと幸いです。 以下、環境です。 ・apache 2.2.14 ・php 5.3.1 ・MDB2 2.4.1
回答: コマンドラインから実行するときのカレントパスに "MDB2.php" がない。 対策としては、 require_once("MDB2.php"); の部分を絶対パス指定してやること。