سؤال

وأنا جديدة على المذهب. I إنشاء ملف التمهيد مثل واحد التالية:

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 في نفس الدليل أنه يعمل كما هو متوقع. كما أنني حاولت أن يطلب مع مسارات مطلقة ولكن هذا لم يحل مشكلتي. أنا على اختبار على أوبونتو 9.10 وتثبيت العقيدة من الكمثرى. نسخة المذهب هو 1.2.0.

هل كانت مفيدة؟

المحلول

هل حاول استخدام مسارات مطلقة في حين تتطلب؟ Realpath يمكن أن تساعدك على خلق تلك المسارات.

نصائح أخرى

وأعتقد أن يحصل أثار هذا الخطأ عندما يتوقع عقيدة بعض الدلائل نموذج في الوجود. يحدث الخطأ أيضا إذا حاولت لتوليد SQL من schema.yml قبل الانتهاء من بناء الطبقات نموذج. عندما تحصل على بناء الطبقات النموذج الذي خلق مجموعة من الدلائل وانها هذه التي أعتقد أنك في عداد المفقودين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top