PHP5.4 如何连接MS Sql Server
2013-10-08 01:01
656 查看
安装好xampp后,如果你的php需要访问ms sqlserver数据库,就需要这个步骤,否则会出错:
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The
SQL Server Driver for PHP。
下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
—————————————————
这里的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_nts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_nts.dll
—————————————————-
重启后,如果出现了这个错误:
PHP Startup sqlsrv Unable to initialize module
则表明你的php.ini中配置的dll版本、ext中放的dll版本和实际php的版本不一致。查看当前php版本的方法是:http://localhost:port/,查看php状态。
重启后上述错误不再出现,但是qlsrv_connect($Server,$conInfo); 却总是运行不过,打出错误信息:
这一次看到问题所在了:
SQLSTATE: IMSSP<br />code: -49<br />message: This extension requires the Microsoft SQL Server 2012 Native Client...
下载Microsoft SQL Server 2012 Native Client进行安装。
这下就ok了。
最后有点疑惑:
我的sql server装的本来是2008版的,为什么需要Microsoft SQL Server 2012 Native Client?
Fatal error: Call to undefined function sqlsrv_connect() in D:\appServ
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The
SQL Server Driver for PHP。
下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
—————————————————
这里的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_nts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_nts.dll
—————————————————-
重启后,如果出现了这个错误:
PHP Startup sqlsrv Unable to initialize module
则表明你的php.ini中配置的dll版本、ext中放的dll版本和实际php的版本不一致。查看当前php版本的方法是:http://localhost:port/,查看php状态。
重启后上述错误不再出现,但是qlsrv_connect($Server,$conInfo); 却总是运行不过,打出错误信息:
$conInfo=array('Database'=>$database,'UID'=>$uid,'PWD'=>$pwd); $link=sqlsrv_connect($Server,$conInfo); if( $link ){ // echo "Connection established.\n"; } else{ //echo "Connection could not be established. "; print_r( sqlsrv_errors(), true); if( ($errors = sqlsrv_errors() ) != null) { foreach( $errors as $error ) { echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />"; echo "code: ".$error[ 'code']."<br />"; echo "message: ".$error[ 'message']."<br />"; } } die(""); }
这一次看到问题所在了:
SQLSTATE: IMSSP<br />code: -49<br />message: This extension requires the Microsoft SQL Server 2012 Native Client...
下载Microsoft SQL Server 2012 Native Client进行安装。
这下就ok了。
最后有点疑惑:
我的sql server装的本来是2008版的,为什么需要Microsoft SQL Server 2012 Native Client?
相关文章推荐
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库
- Linux下PHP连接MS SQLServer的办法
- PHP不能连接MS SQL Server的解决方法
- PHP配置MS SQLServer数据库连接
- Linux下PHP连接MS SQLServer的办法
- QT4如何连接MS SQL SERVER
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库
- Linux下PHP连接MS SQLServer的办法
- 使用PHP、FreeTDS在Linux下连接MS SQLServer数据库 [linux]
- Linux 下 PHP 连接 MS SQLServer 的办法
- Linux 下 PHP 连接 MS SQLServer 的办法
- 使用PHP+FreeTDS在Linux下连接MS SQLServer数据库
- PHP 5.3版本上MS SQL Server的连接配置
- QT4如何连接MS SQL SERVER
- Linux下PHP连接MS SQLServer的办法
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库
- linux/freebsd下php连接ms sqlserver
- 如何在Oracle SQL Developer 中连接MS SQL Server、MySQL数据库
- 如何在Oracle SQL Developer 中连接MS SQL Server、MySQL数据库