環境
- Windows7 32bit
- PHP4系
- Oracle 11g
- Apatch2.2
事象
突然、PHP からOracleに接続が出来なくなりました。
php_oci8.dllが正しく動作しません。
もしくは、php.iniがphp_oci8.dllを正しく見てくれません。
oci8.phpが使われているかどうかを確認するため、名前を変更。
php_oci8.dll
→ php_oci88.dll
こちら…エラーになりません。
背景
突然、PHPからDBに繋がらなくなりました。
特に設定をいじったなどは、意識の範囲内では行なっていません。
やったこと
- DB接続箇所以外は正常動作していることを確認済み
- DBはクライアントツール(SQL Developer)で接続可能なことを確認済み
- php.ini の設定でphp_oci8.dllが有効であることを確認済み
- php_oci8.dll が
C:¥php¥extension¥
に置かれていることを確認済み
phpinfo();
で、php.iniの場所を確認し、設定を書き換えてブラウザで表示をすると、変更が反映されるので、
php.iniの場所は正しいと思います。
php_oci8.dll
がOracle 10gR2
で
php_oci8_11g.dll
が Oracle 11gR2
とされていますが、
私の環境では php_oci8.dll
で平常時に動作していたので、php_oci8.dll
で問題ないと思っています。
備考
PhpStormでOCILogon()の呼び出し元にジャンプすると、PhpStorm側で用意されている、
oci8.phpというファイルの下記の場所にジャンプします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/06 02:25