• ベストアンサー

コマンドライン実行からのDB接続不具合

こんにちは。 現在、PHP5、Apache2、Oracle9iで開発を行っておりまして コマンドラインからのバッチ処理を作成しております。 Webブラウザから実行すると正常に動作するのですが コマンドラインから実行すると oci_connect関数をコールしている部分以降の処理が 実行されずに困っております。 いろいろ調べてみましたが原因がわからなかったので どなたかアドバイスを御願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

>>・Oracleサーバとクライアントの文字コード > どこを確認すればよろしいでしょうか? 環境変数NLS_LANGの内容のことだと思います。 Webブラウザでは正常に動作するとのことですので、UTF-8に なっているのではないでしょうか。 なお、これは変更する必要はないです。 コマンドライン上で実行するときの文字コードを、 一時的にシフトJIS(パソコンのデフォルト文字コード)に できれば、 コマンドラインでもうまくいくように思うのですけれど、 正直なところあまり自身がありません。 申し訳ありません。

morimori7
質問者

補足

すいません! 以下のようなエラーが出力されておりました。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\Zend\Core For Oracle\lib\phpext\php_oci8.dll' -指定されたプロシージャが見つかりません。 ただ表示されたパスにはdllファイルは存在します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

Oracleはわかりませんが、dllをsystem32の中に放り込んでもだめでしょうか? http://www.google.co.jp/search?hl=ja&q=PHP+Warning%3A+PHP+Startup%3A+Unable+to+load+dynamic+library&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

morimori7
質問者

補足

ご回答ありがとうございます。 dllをsystem32に入れてみました解決できませんでした。 WINDOWSの配下にも入れてみましたが同様です。

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

コマンドラインから実行したとき、「どのように」うまくいかないのでしょうか? 何かエラーメッセージは出ますか? 念のために、以下の情報についても、おわかりになる範囲で教えてください。 ・利用しているOSの種類とバージョン ・php.iniの[mbstring]セクションで設定している、「mbstring.何とか」の全内容 ・Oracleサーバとクライアントの文字コード

morimori7
質問者

補足

ご回答ありがとう御座います。 >コマンドラインから実行したとき、「どのように」うまくいかないのでしょうか? >何かエラーメッセージは出ますか? oci_connect以降の処理が実行されずエラーメッセージも何も表示されません。(これはコマンドラインからの実行に関係あるのかもしれませんが) >・利用しているOSの種類とバージョン WindowsXP SP2 >・php.iniの[mbstring]セクションで設定している、「mbstring.何とか」の全内容 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF8 mbstring.http_input = auto mbstring.http_output = UTF8 mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 >・Oracleサーバとクライアントの文字コード どこを確認すればよろしいでしょうか? 宜しく御願いします。

すると、全ての回答が全文表示されます。