オラクル 12c. sqldeveloper を使用してリモートで DB に接続できます。sqlplus で DB に接続できます。
gii を動作させることができず、エラーが表示されます:
原因: PDOException SQLSTATE[HY000]: pdo_oci_handle_factory: エラー ORA-01804 のテキスト取得中にエラーが発生しました (/root/rpmbuild/BUILD/php-5.4.1/ext/pdo_oci/oci_driver.c:631)
この php コードは同じエラーを生成します。
1 <?php
2 $param = $_POST;
3 $db_username = "<my username>";
4 $db_password = "<my password>";
5 $db = "oci:dbname=ORCL";
6 try{
7 $conn = new PDO($db,$db_username,$db_password);
8 $stmt = $conn->exec("select * from employee;");
9 }catch(PDOException $e){
10 echo ($e->getMessage());
11 }
12
13 ?>
私のphpinfo.phpは次を示しています:PDOドライバーsdblib、firebird、mysql、oci、odbc、pgsql、sqlite、しかしphp -i | grep pdoで pdo_oci が表示されない
タイトル「PDO_OCI」の下のphpinfo.phpにはエントリがありません。タイトルと列のタイトル「OCI 8以降のPDOドライバー」「有効」だけで、データのある行はもうありません。
「--with-pdo-oci=shared,$ORACLE_HOME」を追加して PHP のコンパイルを構成し、「extension=pdo_oci.so」を /etc/php.d/pdo_oci.ini というファイルに追加しました。
また、これは私のOracleタイムゾーンフォルダーです:
# ls /base/product/12.1.0/db_1/oracore/zoneinfo/
big timezlrg_11.dat timezlrg_16.dat timezlrg_3.dat timezlrg_8.dat timezone_12.dat timezone_17.dat timezone_4.dat timezone_9.dat
little timezlrg_12.dat timezlrg_17.dat timezlrg_4.dat timezlrg_9.dat timezone_13.dat timezone_18.dat timezone_5.dat timezone.dat
readme.txt timezlrg_13.dat timezlrg_18.dat timezlrg_5.dat timezlrg.dat timezone_14.dat timezone_1.dat timezone_6.dat
timezdif.csv timezlrg_14.dat timezlrg_1.dat timezlrg_6.dat timezone_10.dat timezone_15.dat timezone_2.dat timezone_7.dat
timezlrg_10.dat timezlrg_15.dat timezlrg_2.dat timezlrg_7.dat timezone_11.dat timezone_16.dat timezone_3.dat timezone_8.dat
timezone.dat と timezonelrg.dat は、対応する最大のサフィックスへのシンボリック リンクです。
どんな助けでも大歓迎です。