Na wstępie chciałem powiedzieć wszystkim "cześć" gdyż jest to mój pierwszy post na forum. Aktualnie przerabiam książkę "PHP5 - Programowanie z wykorzystanie Symfony framework". Ciekawą rzeczą jakiej się z niej dowiedziałem jest to, że framework udostępnia narzędzie propel. Po utworzeniu bazy danych powinno ono pobrać z niej dane tabel i utworzyć z nich klasy. Jednak przy wykonaniu komendy " ./symfony propel-build-schema " wywala mi błąd :
Kod
propel Running "reverse" phing task
[propel-schema-reverse] There was an error building XML from metadata: could not find driver
Some problems occurred when executing the task:
If the exception message is not clear enough, read the output of the task for more information
[propel-schema-reverse] There was an error building XML from metadata: could not find driver
Some problems occurred when executing the task:
If the exception message is not clear enough, read the output of the task for more information
Z tego co do tej pory udało mi się wygooglać to podobno brakowało mi biblioteki "PDO" . Jednak phpinfo() mów, że mam ją zainstalowaną a próby dogrywania jakichkolwiek plików i podawania ich ścieżki również kończyły się informacją, że podana biblioteka jest już załadowana.
Zamieszczam zawartość pliku propel.ini
Kod
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = sf_sandbox
propel.database = mysql
propel.database.driver = mysql
propel.database.url = mysql://slimocb:xxx@localhost/aktualnosci
propel.database.create.url = mysql://slimocb:xxx@localhost/
propel.database.user = slimocb
propel.database.password = xxx
; mysql options
propel.mysql.tableType = InnoDB
propel.addVendorInfo = true
propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = true
propel.addValidators = false
propel.useDateTimeClass = true
propel.defaultTimeStampFormat = Y-m-d H:i:s
propel.defaultTimeFormat = H:i:s
propel.defaultDateFormat = Y-m-d
propel.schema.validate = false
propel.samePhpName = false
propel.disableIdentifierQuoting = false
propel.emulateForeignKeyConstraints = true
; directories
propel.home = .
propel.output.dir = /opt/lampp/htdocs/sf_sandbox
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml
; builder settings
propel.builder.peer.class = plugins.sfPropelPlugin.lib.builder.SfPeerBuilder
propel.builder.object.class = plugins.sfPropelPlugin.lib.builder.SfObjectBuilder
propel.builder.objectstub.class = plugins.sfPropelPlugin.lib.builder.SfExtensionObjectBuilder
propel.builder.peerstub.class = plugins.sfPropelPlugin.lib.builder.SfExtensionPeerBuilder
propel.builder.objectmultiextend.class = plugins.sfPropelPlugin.lib.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class = plugins.sfPropelPlugin.lib.builder.SfMapBuilderBuilder
propel.builder.addIncludes = false
propel.builder.addComments = true
propel.builder.addBehaviors = true
propel.packageObjectModel = true
propel.project = sf_sandbox
propel.database = mysql
propel.database.driver = mysql
propel.database.url = mysql://slimocb:xxx@localhost/aktualnosci
propel.database.create.url = mysql://slimocb:xxx@localhost/
propel.database.user = slimocb
propel.database.password = xxx
; mysql options
propel.mysql.tableType = InnoDB
propel.addVendorInfo = true
propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = true
propel.addValidators = false
propel.useDateTimeClass = true
propel.defaultTimeStampFormat = Y-m-d H:i:s
propel.defaultTimeFormat = H:i:s
propel.defaultDateFormat = Y-m-d
propel.schema.validate = false
propel.samePhpName = false
propel.disableIdentifierQuoting = false
propel.emulateForeignKeyConstraints = true
; directories
propel.home = .
propel.output.dir = /opt/lampp/htdocs/sf_sandbox
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml
; builder settings
propel.builder.peer.class = plugins.sfPropelPlugin.lib.builder.SfPeerBuilder
propel.builder.object.class = plugins.sfPropelPlugin.lib.builder.SfObjectBuilder
propel.builder.objectstub.class = plugins.sfPropelPlugin.lib.builder.SfExtensionObjectBuilder
propel.builder.peerstub.class = plugins.sfPropelPlugin.lib.builder.SfExtensionPeerBuilder
propel.builder.objectmultiextend.class = plugins.sfPropelPlugin.lib.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class = plugins.sfPropelPlugin.lib.builder.SfMapBuilderBuilder
propel.builder.addIncludes = false
propel.builder.addComments = true
propel.builder.addBehaviors = true
Wszystko ustawiałem wg instrukcji zamieszczonych w książce. Googlanie na temat tego pliku nie przyniosło, zbyt wielu nowości.
Dodam, że korzystam z systemu operacyjnego Ubuntu 11.04 i pakietu XAMPP. Jeżeli ktoś miał podobny problem lub wie jak go rozwiązać to proszę o pomoc. Będę wdzięczny .