【问题标题】:Connect SQL Server 2012 with Symfony2将 SQL Server 2012 与 Symfony2 连接
【发布时间】:2016-02-20 03:52:43
【问题描述】:

我想将我的项目 Symfony2 与 SQL Server 连接,因此我从以下链接下载了 Microsoft Drivers for PHP for SQL Server:https://www.microsoft.com/en-za/download/details.aspx?id=20098

然后我将它提取到wamp\bin\apache\Apache2.4.4\bin 并重新启动了 wamp 服务器。

但是当我想从我的 symfony 项目中创建我的数据库和表时,我收到了这个错误:

[PDO异常]
SQLSTATE[HY000] [1045] 拒绝用户访问 'PC-RAMI\rami'@'localhost'(使用密码:YES)

这是我的parameters.yml 文件:

parameters:
    database_driver: pdo_sqlsrv
    database_host: 127.0.0.1
    database_port: null
    database_name: test
    database_user: PC-RAMI\rami
    database_password: "password of my PC"
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: a5142e8af29ca527a8d9f3a6993ba894c4bf5ed9

this is the authentication interface of sql server

【问题讨论】:

  • Quote: 3. 出现提示时,输入 PHP 扩展目录的路径 4. 解压文件后,阅读 SQLSRV32_Readme.htm 文件的安装部分以了解后续步骤。您需要将 dll 放入 PHP Extensions 文件夹,而不是 apache。
  • 感谢您的回复,我已将 dll 添加到 PHP 扩展中,但不幸的是我得到了同样的错误。
  • @ram 你把扩展添加到 php.ini 了吗?
  • @ram 你在使用 app_dev.php 吗?因为你的配置看起来不错。如果您在安装 sqlsrv 时遇到问题,它应该会抛出一些不同的异常。如果您使用的是生产版本 app.php,您可能会使用 pdo_mysql,因为您的 parameters.yml 已被缓存。无论如何,检查 phpinfo 并寻找 sqlsrv。您必须先安装 sqlsrv(如果您还没有安装),然后尝试下面我的帖子中的建议。

标签: sql-server symfony sql-server-2012 php-5.6


【解决方案1】:

SQL 服务器使用two methods for login

  • SQL Server 身份验证 - 您必须提供用户名和密码(与 MySQL 等相同)。如果你想使用它,你必须为你的 SQL 服务器配置混合身份验证。默认用户是 sa。
  • Windows 身份验证 - 您想使用某些本地/域 Windows 帐户的凭据。

您正在尝试使用第二种方法(我从您的屏幕截图中猜测)。 解决方案是将用户名和密码设置为 null(YAML 中的 ~)

database_user: ~
database_password: ~

原因在于 sqlsrv 扩展。 If you provide username and password it always tries to connect by SQL Server Authentication instead of Windows Authentication。但是,PHP 将使用什么作为凭据?它从进程本身获取凭据。可能,您必须在目标凭据下运行 Apache2。

如果您的 SQL 服务器配置为混合模式。您还可以create new database 用户帐户(不是来自任何 Windows 帐户)并使用标准的用户名/密码方法。

【讨论】:

  • 感谢@kba 我已将 database_user 和 database_password 设置为 null 并且可以正常工作
猜你喜欢
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多