我想设置从PHP到SQL server 2012的数据库连接。我在Windows机器(64位)上使用PHP 5.5.12设置了一个wamp服务器(64位),并且在同一台机器上我有SQL服务器2012安装。
提取的sqlsrv驱动程序将解压缩的驱动程序php_sqlsrv_55_ts.dll,extension = php_pdo_sqlsrv_55_ts.dll
复制到php\ext
文件夹,然后更改php.ini文件以包含扩展名
extension = php_sqlsrv_55_ts.dll; extension = php_pdo_sqlsrv_55_ts.dll;
现在我试过
<?php
phpinfo();
?>
我看到以下信息,但没有任何SQL服务器信息。
似乎没有成功配置SQL Server连接。有人可以指导我在这里缺少的东西。
答案 0 :(得分:3)
64位WAMP服务器无法使用驱动程序extension = php_sqlsrv_55_ts.dll进行连接; extension = php_pdo_sqlsrv_55_ts.dll;
所以,我安装了一个32位版本的WAMP服务器,现在工作正常。
答案 1 :(得分:2)
检查php错误日志(c:\ wamp \ logs \ php_error.log)。 我有相同的设置(64位WAMP / PHP 5.5.12)和phpinfo中同样缺少sqlsrv引用,我在日志中收到此错误:
PHP警告:PHP启动:无法加载动态库 &#39; C:/wamp/bin/php/php5.5.12/ext/php_pdo_sqlsrv_55_ts.dll' - %1不是 有效的Win32应用程序。在第0行的未知中
解决方案是安装64位版本的sqlsrv驱动程序。我通过http://robsphp.blogspot.nl/2012/06/unofficial-microsoft-sql-server-driver.html
找到了非官方的64位驱动程序警告:在我的测试中,我发现这些64位PHP_PDO_SQLSRV扩展名比使用PHP_PDO_ODBC时慢10倍。
答案 2 :(得分:0)
我正在访问此帖子,我认为这对您和其他同样的问题可能会有所帮助: How can I install pdo_sqlsrv on my windows 2008 Server 2008 R2?
PDO扩展与Microsoft提供的本机驱动程序不同。对于PDO,您必须启用
延长= php_pdo_mssql.dll 在你的php.ini。
{通常这个文件(php_pdo_mssql.dll)应该在PHP扩展目录中(C:... \ php \ ext)。如果它不存在,你可以从http://windows.php.net/download/下载PHP,只需从那里的包中取出扩展名(取一个与你当前的PHP版本相对应的颜色)}。
以上摘自PDO MSSQL Server - Driver not found 阅读更多详情。我和linux有同样的问题,我保存了所有页面,这就是为什么我引用你的帮助。
如果以上所有内容都不适合您:
在php.net上列出了
在Windows上,PDO_ODBC默认内置在PHP核心中。它与Windows ODBC驱动程序管理器链接,以便PHP可以连接到编目为系统DSN的任何数据库,并且是连接到Microsoft SQL Server数据库的推荐驱动程序。 http://php.net/manual/en/ref.pdo-odbc.php
您可以使用odbc驱动程序连接到mssql服务器,因为我从未通过我自己从Windows连接我使用freeTds通过linux进行连接,以下页面可能会帮助您