최근에 나는 자신의 사용자로 추가 데이터베이스를 만들었습니다. 따라서 parameters.yml
에 여분의 데이터베이스 드라이버를 만들었습니다. 이것은 내가 아는 한, 이런 종류의 상황에 대한 표준 접근법입니다. 지금까지는 작동합니다. 내가 만든 서비스 중 하나에서이 데이터베이스 드라이버를 사용할 수 있습니다. 웹 사이트에서 코드를 실행할 때 전혀 문제가 없습니다.Symfony2는 데이터베이스 드라이버에서 ParameterNotFoundException을 제공합니다.
물론 문제가 있습니다. 그렇지 않으면 나는 당신의 도움을 요청하지 않을 것입니다.
나는 다음과 같은 명령을 실행하여 플러그인을 설치하려고 해요 :
[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.
몇 가지 다른 게시물이 캐시에 대한 오류가 뭔가를 가지고 말 :
$ ./composer.phar require pugx/autocompleter-bundle
이 다음과 같은 오류를 제공을 파일/dir 권한과 관련이있다. 그러나 지오 드라이버의 구성을 제거하면 이러한 종류의 오류가 나타나지 않기 때문에 문제가되지는 않습니다.
내가 심포니 2.5을 실행하는거야
[편집 : 추가 parameters.yml 파일]
는 parameters.yml
은 다음과 같습니다 내 :
# 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: ***
[편집 : 추가 config.yml 파일]
의 교리 섹션파일 :
# 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%
이 문제를 해결하는 데 도움이되는 사람이 있으면 좋겠습니다.
종류와 관련,
말콤 의견에서 언급 한 바와 같이
parameters.yml 파일을 게시 할 수 있습니까? 민감한 값은 숨기지 만 트리 구조는 유지하십시오. doctrine.dbal.connections 아래 config.yml 파일에 새 엔티티 관리자를 등록 했습니까? – VaN
새로운 작곡가 패키지를 설치할 때'parameters.yml' 파일이 자동으로 다시 작성됩니다. 매개 변수 (또는 적어도 디폴트 값)를'parameters.yml.dist'에 두어야합니다. 그것들은'parameters.yml'에 복사 될 것입니다. –
@VaN : 추가했습니다. –