In letzter Zeit habe ich eine zusätzliche Datenbank mit einem eigenen Benutzer erstellt. Daher habe ich einen extra Datenbanktreiber in der parameters.yml
erstellt. Soweit ich weiß, ist dies der Standardansatz für diese Art von Situationen. Bis jetzt funktioniert es. In einem der von mir erstellten Dienste kann ich diesen Datenbanktreiber verwenden. Beim Ausführen des Codes auf der Website gibt es überhaupt keine Probleme.Symfony2 gibt eine ParameterNotFoundException für einen Datenbanktreiber aus
Aber natürlich gibt es ein Problem, sonst werde ich nicht um deine Jungs bitten.
Ich versuche, ein Plugin zu installieren, indem Sie den folgenden Befehl ausführen:
$ ./composer.phar require pugx/autocompleter-bundle
Dies gibt den folgenden Fehler:
[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
You have requested a non-existent parameter "database_driver_geo". Did you mean this: "database_driver"?
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
Installation failed, reverting ./composer.json to its original content.
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.
Einige andere Beiträge sagen, dass der Fehler über den Cache etwas hat, mit den Datei-/Verzeichnisrechten zu tun haben. Aber das scheint nicht das Problem zu sein, denn wenn die Konfiguration des Geo-Treibers entfernt wird, erscheinen diese Art von Fehlern nicht.
Ich bin mit Symfony 2.5
[EDIT: Added parameters.yml Datei]
Mein parameters.yml
sieht wie folgt aus:
# This file is auto-generated during the composer install
parameters:
# Default database
database_driver: pdo_mysql
database_host: ***
database_port: ***
database_name: ***
database_user: ***
database_password: ***
# Geo database
database_driver_geo: pdo_mysql
database_host_geo: ***
database_port_geo: ***
database_name_geo: ***
database_user_geo: ***
database_password_geo: ***
mailer_transport: ***
mailer_host: ***
mailer_user: ***
mailer_password: ***
locale: ***
secret: ***
[EDIT: Hinzugefügt config.yml Datei]
Die Doktrin Abschnitt in der config.yml
Datei:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
mapping_types:
enum: string
bit: integer
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: %kernel.root_dir%/data/data.db3
# path: %database_path%
geo:
driver: %database_driver_geo%
host: %database_host_geo%
port: %database_port_geo%
dbname: %database_name_geo%
user: %database_user_geo%
password: %database_password_geo%
charset: UTF8
mapping_types:
enum: string
bit: integer
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: %kernel.root_dir%/data/data.db3
# path: %database_path%
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
***CoreBundle: ~
geo:
connection: geo
mappings:
***GeoBundle: ~
auto_generate_proxy_classes: %kernel.debug%
Ich hoffe, es gibt jemanden, der mir helfen kann, dieses Problem zu beheben.
Mit freundlichen Grüßen
Malcolm
Können Sie Ihre parameters.yml Datei veröffentlichen? (Blenden Sie die sensiblen Werte aus, aber behalten Sie bitte die Baumstruktur bei). Haben Sie in der Datei config.yml unter "doctrine.dbal.connections" einen neuen Entity Manager registriert? – VaN
'parameter.yml' wird automatisch neu erstellt, wenn Sie ein neues Composer-Paket installieren. Sie sollten Ihre Parameter (oder zumindest Standardwerte) in 'parameters.yml.dist' ablegen. Sie werden in 'parameters.yml' kopiert. –
@VaN: Ich habe es hinzugefügt. –