Mssql 2012 与 PHP & Mysql 到 Mssql 迁移

Posted

技术标签:

【中文标题】Mssql 2012 与 PHP & Mysql 到 Mssql 迁移【英文标题】:Mssql 2012 with PHP & Mysql to Mssql migration 【发布时间】:2014-09-05 10:18:42 【问题描述】:

我刚刚将数据库从 mysql 迁移到 mssql 2012。之后,我按照以下步骤连接 mssql。

我已经在本地机器上安装了 Xampp(windows 7 64 位操作系统)。

php Version 5.5.11

Apache Version  Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11 

单独安装MSSql 2012

现在我想将 php 与 mssql 2012 连接起来。 我得到了Fatal error: Call to undefined function sqlsrv_connect() .

添加了 php_sql_54.ts.dll 并在 php.ini 中启用。但它说

php startup: sqlsrv: unable to initiate module module complied with module API=20100525
php complied with module API=20121212 these options need to match

然后我在 Ext 文件夹中添加了 php_sql_55_ts.dll。

我得到的下一个错误:

The program can't start because MSVCP110.dll is missing from your computer. Try reinsatalling the program

从微软站点安装的 C++ 工具。那么最后的错误是:

PHP Startup: unable to load dynamic library php_sqlsrv_55_ts.dll is not a valid win32 application.

如何解决?我需要用 PHP 连接 mssql。

谢谢

【问题讨论】:

【参考方案1】:

检查您的操作系统是否为 32/64 位。在此基础上安装 C++。 如果您安装了这个版本,它将无法工作:

Microsoft Visual C++ Redistributable (x64)

Microsoft Visual C++ Redistributable (x86)

【讨论】:

我的操作系统是 64 位窗口 7。我安装了很多 Microsoft Visual C++ 2008 Redistributable X86 包。 你必须安装 Microsoft Visual C++ 2008 Redistributable X64。 已经完成。而且我还安装了 mssql 2012。这可能是问题的原因。? 可能是问题所在。试一试。 只需安装visual c++并再次运行启动sql。如果它显示相同的错误。尝试重新安装 sql server。

以上是关于Mssql 2012 与 PHP & Mysql 到 Mssql 迁移的主要内容,如果未能解决你的问题,请参考以下文章

解决PHP5.4.7 连接 MsSQL Server 2012时出现命名管道提供程序: 无法打开与 SQL Server 的连接

在 Server 2012 上通过 php 连接到 MSSQL

使用 SQL Server 2012 中的 MSSQL_Query 的 PHP 调用存储过程返回无效值

PDO 通过 MSSQL_* 函数连接到 MSSQL

PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)

php怎么连接sql server 2012