使用集成身份验证在PHP中连接到MSSQL服务器
我有XAMPP在MS Server 2012 R2上运行.我需要连接到仅接受集成win身份验证的MSSQL服务器.
如果我只是尝试以下,我在SQL Server上得到一个登录失败和一个错误日志SQL认证不是一个选项.它只接受某个用户的连接.显然,PHP脚本没有在该帐户下运行. $server = "sqlServerName"; $SQLUser = "username"; $SQLPass = "pw"; $SQLDatabase = "db"; $link = mssql_connect($server,$SQLUser,$SQLPass); 因为我使用PHP 5.3.1 sqlsrv_connect不是一个选项.我试图加载php驱动程序,但它只是不工作.我不能更改sql server的身份验证,我不能使用任何其他版本的PHP. 我也不能打开secure_connection,因为我必须能够连接到需要“正常”sql身份验证的其他sql服务器: mssql.secure_connection =关闭 如何连接到我有问题的sql server? 更新:将xampp升级到最新版本. PHP现在版本5.6.8即使我安装了必要的驱动程序并将每个单个dll添加到php.ini中,仍然无法使用sqlsrv_connect().重新启动了apache几次.任何线索?
好.无需在服务器上调试服务器问题,但是我已经用php和SQL Server做了很多工作,所以我将尽力分享我的经验.
首先,很高兴你从5.3.1更新版本的php是古老而且非常不安全的.这是您的系统的一些健全检查.这可能对你什么都不做,但所有这一切都值得检查. >首先确保您可以使用提供的凭据使用SQL Server Management studio连接到sql server.这意味着您在php中使用的相同的凭据不是Windows身份验证凭据.您应该能够同时拥有两个连接,以便您可以在同一时间进行更改并测试连接. >启用tcp. sql server配置管理器 – > SQL Server网络配置 – > sqlexpress的协议 – > tcp / ip(右键单击) – >属性 – >启用(是) – > ip地址 – > IPAll – > TCP端口1433 – >好 >一旦你确认你可以连接管理工作室这里是php配置检查: >您可以通过创建一个phpinfo()函数来创建扩展本身是否可用.然后搜索pdo_sqlsrv.如果存在,这些检查的其余部分可能不是必需的,但是由于您一直在工作,所以很久以后可能会检查它们. >一旦通过管理工作室中的auth权限连接到sql server,并且您的phpinfo()中的pdo_sqlsrv就是您的代码中最后一件事. >上面的代码还是用于mssql扩展.您可能只是根据最新的更改更新它.对于sql server扩展,您的代码应如下所示: $connectionInfo = array( $connectionInfo = array(); 如果你有更多的问题,请告诉我哪一步不起作用,所以我们可以用这一步挖掘更多的细节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |