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',
)
どこを確認すればよいかのサッパリわからず投稿させていただきました。
何卒よろしくお願いします。
補足
もちろんサーバに設置することは知っています。 Zend OptimizerのWin版にはインストーラーがあります。(ローカルサーバに設置するため) OSX、Unix版手動でクライアントに設置するため、OSを記載しました。 php.iniの設定はわかります。 ## Security Control register_globals = Off magic_quotes_gpc = off ## UTF8 as a standard language code mbstring.language = neutral mbstring.internal_encoding = UTF-8 mbstring.http_input = auto ;mbstring.http_output = UTF-8 mbstring.detect_order = auto ## Use ZendOptimizer zend_extension= "//public_html/buyintokyo.com/Zend/ZendOptimizer.so" zend_optimizer.optimization_level=15 あの、上から目線での回答は必要ないのですが… 質問に回答してください。