我試圖讓我的Zend應用程序中的Propel工作,似乎我可以得到Propel庫來加載(從庫/推進),但是當我被調用時例外:'運行時配置文件中的數據源[默認]'沒有連接信息(當我嘗試建立連接時:'Propel :: getConnection')。我的Db甚至沒有被命名爲「默認」。太對了,現在我如何讓zend識別推進ORM的路徑
require_once 'propel/Propel.php';
Propel::setConfiguration($this->getOptions('propel/MyPropel-conf.php'));
Propel::initialize();
// so we can get the connection from the registry easily
return Propel::getConnection();
我想行走CONFIGS(類映射的conf以及)是在「/應用/ CONFIGS」(副本有:我有這個在我的bootstrap.php從另一個SO問題/答案),但我想如果我可以從圖書館/推進器中加載Propel,那麼可能將我的'conf'文件移動到那裏,我也可以加載它們。看來,如果我'強制'配置,通過手動加載參數,或者如果我似乎把它放在臨時'正確'的位置(或使用絕對路徑),我得到的異常是: 'Unable打開PDO連接[包裝:SQLSTATE [28000] [1045]拒絕訪問用戶'www-data'@'localhost' 就好像Propel不關注我的配置。 我的配置看起來像這樣;從XML轉換:
$conf = array (
'datasources' =>
array (
'unmActTestDB' =>
array (
'adapter' => 'mysql',
'connection' =>
array (
'dsn' => 'mysql://root:[email protected]/unmActTestDB',
),
),
'default' => 'unmActTestDB',
),
'log' =>
array (
'ident' => 'propel-act',
'level' => '7',
),
'generator_version' => '1.5.6',
);
$conf['classmap'] = include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classmap-unmActTestDB-conf.php');
return $conf;
如果有幫助,我還有了Zend PDO DB適配器裝在文件的application.ini太多,會造成衝突?有沒有一種標準的方式讓Propel與Zend一起工作?或者任何人都可以看到我做錯了什麼?
我已經在SO上發佈了幾個帖子,還有一些熱門帖子,如The Adventures Of Merging Propel With Zend Framework,Zend的開發區域Integrating Propel with the Zend Framework,以及其他包括Propel Docs在內的一些熱門帖子。他們有幫助,但我真的很困難。提前致謝!我現在的Zend的目錄結構看起來像這樣(W /兩個推進confs也可在庫/推進文件夾:
我已經找出路徑問題和連接問題是由於我的運行時conf文件中的&的遺漏。 –
rhaag71
2011-03-23 18:01:36
感謝分享。 +1 – 2011-03-24 19:20:06
您應該將其作爲答案發布。回答你自己的問題沒什麼不妥 – Phil 2011-03-29 04:05:03