Я новичок в учении. Я создал файл начальной загрузки, подобный следующему:
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
команда работает так же, как и ожидалось.
Но у меня есть файл X.php в каталоге Y, и мне нужен файл bootstrap.php в X.php, но когда я запустил X.php в каталоге Y как
php X.php
, я получил следующее исключение:
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
Теперь, как я могу исправить эту проблему?
Кстати, когда я помещаю X.php и bootstrap.php в один каталог, он работает как положено.
Я также пытался использовать абсолютные пути, но это не решило мою проблему. Я тестирую на Ubuntu 9.10 и установил доктрину от груши. Версия доктрины 1.2.0.