【问题标题】:Symfony 2 pdo exceptionSymfony 2 pdo 异常
【发布时间】:2014-11-18 23:48:53
【问题描述】:

我正在使用 Symfony 2,并且在我的 parameters.ini 中有这一行:

database_driver = pdo_pgsql

当我使用 Doctrine 创建数据库结构时,一切都很好。但是,如果我想向我的 darabase(插入行)添加一些学说对象,我会发现一个异常:

这有什么关系?

【问题讨论】:

  • 你在所有php.ini文件中定义了吗?因为使用命令行,它将使用cli文件夹中的php.ini,而不是apache2文件夹中的。
  • 如果你在终端输入php -m | grep pdo,你会得到什么?

标签: symfony pdo doctrine-orm


【解决方案1】:

您确定您使用的是 pdo_pgsql 吗?你在本地主机上运行吗?可以确定您使用的是 pdo_mysql 驱动程序。

但是您必须检查以下内容:

php.ini

extension=pdo.so
extension=pdo_mysql.so

或者在你的情况下

extension=pdo.so
extension=pdo_pgsql.so

您可以查看phpinfo(); 找到已配置的数据库驱动程序。

在您的 symfony 项目中,您必须检查 config 文件夹中的 parameters.ini 文件。例如

[parameters]
    database_driver="pdo_mysql"
    database_host="localhost"

除了尽量避免这个错误

'stty' is not recognized as an internal or external command,
operable program or batch file.

https://github.com/symfony/symfony/issues/4974

【讨论】:

    【解决方案2】:

    首先,验证您的 php.ini 文件:必须启用扩展名 php_pdo_pgsqlphp_pdo。确保在 symfony 项目 正在使用的 php.ini 文件上应用这些更改,在 localhost/path_to_your_project/web/config.php 上检查。执行 phpinfo() 函数,您知道是否启用了此扩展。

    这个命令也很有帮助:php -m。它在控制台上列出了所有加载的 php 模块。

    提示:查看您的 Apache 错误日志,您的扩展程序的负载可能有问题。此文件根据您的服务器配置定位。

    【讨论】:

      猜你喜欢
      • 2012-09-19
      • 2012-03-08
      • 1970-01-01
      • 2019-07-01
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 2014-05-29
      相关资源
      最近更新 更多