Zend Frameworkでoracle接続
Zend Frameworkを勉強しようと思い始めたばかりのものです。
oracleに繋がらずどこをチェックすればよいのかさっぱりわかりません。
どなたかご教授願えないでしょうか?
zfツールを使い雛形を作って、module で分けてみたり、ヘッダー、フッターをlayoutを使って分けたりと少し前進しました。
次はDB接続だと思い始めたのですが繋がりません。
■環境
CentOS release 5.6 (Final)
■やったこと
1)oracle接続モジュール oci8 をインストール
# export ORACLE_HOME=/opt/oracle/product/10.2.0/db
# pecl install oci8
php.ini に追記
# vi /etc/php.ini
extension=oci8.so
2)ローカルで接続テスト
これは問題なく接続できてるみたいなのです。
# more test.php
<?php
putenv("ORACLE_HOME=/opt/oracle/product/10.2.0/db");
putenv("LD_LIBRARY_PATH=:/opt/oracle/product/10.2.0/db/lib");
// Zend_Dbライブラリの読み込み
require_once 'Zend/Loader.php';
require_once 'Zend/Db.php';
$dbInit = array(
'host' => 'localhost',
'username' => 'usrxx',
'password' => 'usrxx',
'dbname' => 'xxdb'
);
$db = Zend_Db::factory('oracle', $dbInit);
$db->getConnection();
echo 'OK';
$db->closeConnection();
# php test.php
OK
3)Zend Frameworkで接続テスト
IndexController.php の indexAction でやってみたのですがダメなのです。
public function indexAction()
{
$dbInit = array(
'host' => 'localhost',
'username' => 'usrxx',
'password' => 'usrxx',
'dbname' => 'xxdb'
);
$db = Zend_Db::factory('oracle', $dbInit);
$db->getConnection();
$db->getConnection();
echo 'OK';
$db->closeConnection();
}
※/etc/sysconfig/httpdに以下を追加しました
export ORACLE_HOME=/opt/oracle/product/10.2.0/db
export LD_LIBRARY_PATH=/opt/oracle/product/10.2.0/db/lib
実行するとどうしてもエラーとなります。
■エラーメッセージ
An error occurred
Application error
Exception information:
Message: Unknown exception
Stack trace:
#0 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Db/Adapter/Abstract.php(315): Zend_Db_Adapter_Oracle->_connect()
#1 /home/www/zf/application/modules/default/controllers/IndexController.php(30): Zend_Db_Adapter_Abstract->getConnection()
#2 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Controller/Action.php(516): IndexController->indexAction()
#3 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
#4 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#5 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#6 /home/www/zf/venders/ZendFramework-1.11.11/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#7 /home/www/htdocs/shopping/necs/zf/index.php(29): Zend_Application->run()
#8 {main}
Request Parameters:
array (
'controller' => 'index',
'action' => 'index',
'module' => 'default',
)
どこを確認すればよいかのサッパリわからず投稿させていただきました。
何卒よろしくお願いします。
お礼
アドバイスありがとうございます。 PDOについて調べてみます。 ありがとうございました。