- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
最近我用它自己的用户创建了一个额外的数据库。因此,我在 parameters.yml
中创建了一个额外的数据库驱动程序。据我所知,这是针对这种情况的标准方法。到目前为止,它有效。在我创建的一项服务中,我可以使用这个数据库驱动程序。在网站上运行代码,完全没有问题。
但是当然有问题,不然我也不会找你们帮忙
我正在尝试通过运行以下命令来安装插件:
$ ./composer.phar require pugx/autocompleter-bundle
这会产生以下错误:
[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.
其他一些帖子说关于缓存的错误与文件/目录权限有关。但这似乎不是问题,因为当删除 geo driver 的配置时,不会出现此类错误。
我正在运行 Symfony 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 文件]
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
文件在 composer update
或 install
命令后自动重建。您可以在 scripts
部分的 composer.json
文件中看到:
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
// other commands...
],
"post-update-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
// other commands...
]
},
如果您不喜欢,当然可以关闭此功能。但如果使用得当,它可能会有用。
因此,当您通过 composer 安装某些包时,您将丢失直接放入 parameters.yml
的参数。
您应该做的是利用用于构建parameters.yml
的parameters.yml.dist
文件。它应该提供应用程序参数值(如果每个应用程序实例都相同)或默认值(如果每个环境(生产/开发)的参数不同)。
在您的情况下,这是第二个用例(默认值),因为数据库凭据会针对每个服务器发生变化。它实际上与默认数据库连接的配置完全相同。 parameters.yml.dist
包含这些参数的一些默认值。
关于php - Symfony2 在数据库驱动程序上给出了 ParameterNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582963/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
所以我正在开发一个黑 jack 程序,但我有点卡住了。我会警告大家,我对编程真的很陌生,而且,我正在项目中期......所以有一些松散的结局和未使用的变量,以及一些不必要的逻辑(用于测试),但这就是我
我正在尝试创建一个可用作 OpenGL 测试工具的示例程序。到目前为止,我的那个似乎可以工作,但似乎忽略了通过统一变量 MVPMatrix 传递的 MVP 矩阵。当我添加代码以读回制服并检查它是否确实
感谢您帮助我,这是有关我的代码的部分。 printf("Thank you, now please enter the logic gate"); scanf("%s", &C); if (C ==
public static void ejemplosString(String palabra){ char[] letras = palabra.toCharArray();
所以,我有一个 php 应用程序,通过 cgi 和 nginx 运行。我有一个 .jar 程序,用于在条形码打印机(Zebra)上打印条形码,猜猜看是什么!。 我的 php 应用程序使用 exec()
我遇到的唯一问题是 getAll() 方法,它似乎在 PersonnelController 类中的位置立即运行。我也曾在其他很多地方尝试过,但都没有成功。 setAll() 方法看起来不错,我已经测
我是一名优秀的程序员,十分优秀!