###PHPのPDO(oci)を用いたOracleへのアクセスのエラー
#####状況
Windows10Pro上にVirtualBoxをいれてWindowsServer2019をインストールしました。
Windows10ProをホストOSとしてOracleDBを入れ、VirtualBoxのWindowsServer2019をゲストOSとしてブリッジ接続しました。
この時点で、ゲストOSのSQLPLUSからホストOSの作成したPDBのテーブルが見える状況です。
(ゲストOSにOracle Clientはインストール済み)
ゲストOSにはApache2.4とPHP7.2が入っています。
発生している問題・エラーメッセージ
ゲストOSをWebサーバとして、ゲストOS上のphpファイルにブラウザからアクセスしました。
ERROR:SQLSTATE[]:pdo_oci_handle_factory:<>(ext\pdo_oci\oci_driver.c:711)
上記のエラーコードが表示されます。
該当のソースコード
ソースコードは諸事情によりお見せできません。 $tns = 接続識別子に関する記述 $db_name = oracleに登録されている名前 $db_pass = oracleに登録されているパスワード try{ $db = PDO('oci:dbname='.$tns,$db_name,$db_pass); 以下に続く... }cathc(PDOException $e){ print "ERROR: ".mb_convert_enc..... }
こんな感じです。
試したこと
php.iniの編集
extension = php_oci8_19g.dll(oraocci19.dll等に合わせて19gとした)
extension = php_pdo_oci.dll
補足情報
ゲストOS側のphpinfoのoci8に関する記述です
OCI8 Support enable
OCI8 DTrace Support disabled
OCI8 Version 2.2.0
Oracle Run_time Client Library Version 0.0.0.0.0
Oracle Compile_time Instant Client Version 12.1
"Oracle Run_time Client Library Versionが0.0.0.0.0なのが気になります。"
*ゲストOSにインストール済みのクライアントについて(basic, jdbc, odbc, sdk, sqlplus, tools)です。内容を統合したフォルダのパスは環境変数に指定済み。
以上です。