Ho verificato domande simili su SO, ma non hanno risolto il problema.Symfony2: è stato richiesto un parametro inesistente
Sto distribuendo un'applicazione Symfony2 su Openshift. Funziona bene sul mio Windows 10 computer portatile, ma sto ottenendo il seguente error message su OpenShift:
Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException'
with message 'You have requested a non-existent parameter "database_path".
Did you mean one of these: "database_host", "database_port", "database_name", "database_user"?'
in /var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:106 Stack trace: #0
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(248):
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->get('database_path') #1 [internal function]:
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->Symfony\Component\DependencyInjection\ParameterBag\{closure}(Array) #2
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php in
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php on line 106
mio config.yml
è:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
...
doctrine:
dbal:
driver: pdo_sqlite
charset: UTF8
path: "%kernel.root_dir%/../%database_path%"
...
mio parameters.yml
è:
parameters:
database_driver: pdo_sqlite
database_host: localhost
database_port: null
database_name: demo.db
database_user: root
database_password: null
database_path: /data/demo.db
...
e la mia config_prod.yml
è:
imports:
- { resource: config.yml }
...
Cosa sto sbagliando?
Aggiornamento
ho cambiato config.yml
a:
path: "%kernel.root_dir%/../data/demo.db"
e la questione è andato, ma io non so perché!
Hai ottenuto l'eccezione anche nell'ambiente di sviluppo? Hai eseguito 'cache: clear'? – Federkun
Non ho riscontrato questo problema durante l'esecuzione di 'app_dev.php'. Ho appena eseguito l'accesso a ssl nella mia applicazione openshift e ho eseguito l'applicazione 'php app/console cache: clear --env = prod'. Sto ottenendo esattamente lo stesso errore dalla riga di comando ... – JVerstry
Installa sempre l'installazione di compositore, symfony rigenera un nuovo config.yml da config.yml.dist. Disd hai aggiornato il tuo config.yml.dist? Da openshift SSH controlla se config.yml è okay. '$ cat $ OPENSHIFT_REPO_DIR/app/config/parameters.yml' – felipsmartins