【问题标题】:Doctrine can't find driver pdo_sqlsrv [Windows]Doctrine 找不到驱动程序 pdo_sqlsrv [Windows]
【发布时间】:2016-10-30 03:16:57
【问题描述】:

我正在用 Symphony 构建一个网站,我需要使用 Windows 7 和 SQL Server 2014。 (我在 wamp 服务器 x64 中使用 php 5.6)

我已经检查过其他类似的问题,例如:Cannot find driver pdo_sqlsrv,但它们似乎不起作用,而且大多数其他问题都是基于 linux 版本的。

到我放的 symfony 的 config.yml 中:

# Doctrine Configuration
doctrine:
   dbal:
       driver: pdo_sqlsrv

目前当我尝试运行时

php bin/console doctrine:database:create

从我的项目的根文件夹中,它给了我以下信息:

[Doctrine\DBAL\Driver\PDOException]
找不到驱动程序
[PDO异常]
找不到驱动

我已经检查并在测试文件中直接在 pdo 上运行简单查询后,它可以工作,并且还与 pdo 驱动程序一起列为 [0]=>sqlsrv

请注意,Windows 提供的驱动程序没有按预期工作,但 http://robsphp.blogspot.mx/2012/06/unofficial-microsoft-sql-server-driver.html 这个驱动程序可以。

【问题讨论】:

  • 当前使用的是完整路径
  • 我也试过推进并得到同样的错误。 pdo_mysql 驱动程序确实可以工作。只有 pdo_sqlsrv 不起作用。

标签: php sql-server symfony pdo doctrine-orm


【解决方案1】:

好吧,我设法找到了解决方案。首先停止使用 apache 作为服务器,而是使用 IIS。这解决了微软驱动程序无法正常工作的问题。

下一个问题是与数据库的连接不断被拒绝。通过启用 TCP IP 并将端口分配给 IPALL 解决了这个问题

希望这对某人有用。

【讨论】:

    【解决方案2】:

    我对此的解决方案是直接从 php 安装的完全限定路径调用教义。 WAMP 不希望你的 php 版本在 PATH 中,但你需要能够达到那些教义才能工作,所以我这样做了

    来自项目目录:

    cd c:\symfony\myProject\
    c:\wampsrvr\bin\php\php7.2.4\php bin\console doctrine:schema:update --force
    

    在 mac 上,它只是 bin\console 原则:schema:update --force

    但由于 WAMP 的奇怪之处,我不得不这样称呼它。这可能不是完美的解决方案,但我希望它有所帮助。您可以为 PHP 制作一个 BAT 并将其放入共享 PATH 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2011-11-19
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多