Doktrin Yük Modülü İstisna

2 Cevap php

Ben doktrinine yeniyim. Ben aşağıdaki gibi bir önyükleme dosyası oluşturulur:

require_once(dirname(__FILE__)."/../conf/general.php");
require_once(dirname(__FILE__).'/Doctrine/lib/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));

$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine::ATTR_VALIDATE, Doctrine::VALIDATE_ALL); 
$manager->setAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE, true); #for accessor  overriding
$manager->setAttribute(Doctrine_Core::ATTR_AUTOLOAD_TABLE_CLASSES, true); #in order to be able to use the XTable classes
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING,    Doctrine_Core::MODEL_LOADING_CONSERVATIVE); #to conservatively load files
$manager->setAttribute(Doctrine::ATTR_EXPORT, Doctrine::EXPORT_ALL); 

$dsn = "mysql:dbname=".DBNAME.";host=".DBHOST;
$dbh = new PDO( $dsn, DBUSERNAME, DBPASS );
$conn = Doctrine_Manager::connection( $dbh ); 
Doctrine_Core::loadModels('doc_models'); #In order to be able to work with models
php bootstrap.php
command works just as expected. But I have a file X.php under directory Y and i require bootstrap.php file in X.php ;but when i ran the X.php in the directory Y like
 php X.php
I got the following exception:
Doctrine_Exception: You must pass a valid path to a directory containing Doctrine models in /path_to_directory_of_bootstrap_file/Doctrine/lib/Doctrine/Core.php on line 635

Şimdi, ben bu sorunu nasıl düzeltebilirim?

BTW, when i put X.php and bootstrap.php in the same directory it works as expected. I also tried to require with absolute paths but this didn't solve my problem. I'm testing on Ubuntu 9.10 and installed doctrine from pear. Doctrine version is 1.2.0.

2 Cevap

Eğer gerektiren süre mutlak yollar kullanmayı deneyin mi? Realpath bu yolları oluşturmanıza yardımcı olabilir.

Ben doktrin bazı model dizinleri mevcut bekliyor olduğunda bu hata tetiklenen alır düşünüyorum. Eğer modeli sınıfları kurduk ÖNCE schema.yml gelen SQL oluşturmak için çalışırsanız hata oluşur. Modeli sınıflar inşa almak zaman dizinleri bir grup oluşturmak ve bu i eksik düşünüyorum bu var.