从PHP框架连接到MSSQL Kohana
我试图连接一个PHP应用程序(使用框架Kohana)与Microsoft SQL Server和它失败!从PHP框架连接到MSSQL Kohana
技术方面的问题:
- 的Microsoft Windows Server 2012 R2标准。
- 框架Kohana v2.3.4。
- XAMPP Server v1.7.1:
- Apache v2.2.11。
- PHP 5.2.9。
- Microsoft SQL Server 2012(Express Edition)。
- Microsoft .NET Framework v4.0.20219.42000。
问题摘要:
- 显然,MSSQL司机是OK!我检查了文件夹“... \ xampp \ php \ ext \”是否有“php_mssql.dll”,并且在php.ini文件中是否有参考文件...并且是!一切正常!
- 我在Microsoft SQL Server Management Studio中没有任何身份验证问题(我正在使用SQL Server身份验证)。 1
- 我在Kohana数据库配置有问题(我正在使用Management Studio的相同认证数据)。我在哪里加入下列:
$配置[ '测试'] =阵列
(
'基准'=> TRUE,
'persistent'=> TRUE,
'连接'=>数组
(
'类型'=> 'MSSQL',
'用户'=>“用户名',
'pass'=>'passwor d”,
'主机'=> 'SERVERNAME \ SQLEXPRESS',
'端口'=> FALSE,
'插座'=> FALSE,
'数据库'=> 'DATABASE_NAME'
),
'CHARACTER_SET'=> 'UTF8',
'TABLE_PREFIX'=> '',
'对象'= > TRUE,
'cache'=> FALSE,
'逃离'=> TRUE
);
但是,Web浏览器的答案是“mssql_connect()[function.mssql-connect]:无法连接到服务器:SERVERNAME \ SQLEXPRESS”。
我试着改变主机名(我认为问题在那里):没有'\ SQLEXPRESS'并使用机器IP地址。
我尝试在kohana数据库配置中设置FALSE用户并传递属性。
重要的是要说:这台机器是一台测试服务器!我可以将应用程序与开发机器中的sql服务器连接起来。所以,我尝试将开发机器应用程序与测试机器数据库服务器连接起来,并得到相同的错误。测试和开发机器之间的独特技术差异是在我使用SQL SERVER 2016和Windows 10的开发机器中。在开发机器中,我使用“Windows身份验证”在Management Studio中进行身份验证,并且设置FALSE为用户通过在kohana数据库配置中。
这是什么问题?谢谢!
该解决方案设置文件流属性(在Sql Server配置管理器 - > SQL Server服务 - >右键单击SQL Server(SQLEXPRESS) - >属性 - > FILESTREAM),启用用于Transact-SQL和文件IO访问的文件流并允许远程客户端访问FILESTREAM数据。
因此,如果您使用'SERVERNAME \ SQLEXPRESS'从Management Studio进行连接并获得Windows凭据,则可以登录到服务器,对吧? – Hackerman
@Hackerman:是的!我在Management Studio中没有任何身份验证问题。问题出在PHP Kohana。 –
我能想到的唯一一件事就是您使用的是SQL Server Express 2016,并且您当前的PHP驱动程序不支持它....也许您更新它们https://www.microsoft.com/en- us/download/details.aspx?id = 20098 – Hackerman