Windfly`s Blog-一个注重技术分享的博客
  1. 首页
  2. 技术研究
  3. 内容

window下php支持连接sqlserver数据库

前言:

自从php5.3.6,PHP官方不再为mssql提供mssql扩展,要从第三方网站下载。微软目前提供了自己的php-mssql扩展,但是只支持sqlserver2005及以上版本。

需要注意到是微软官方提供的sqlsrv并不支持64位的PHP版本,对于64位的PHP来说并不是有效的win32应用程序。国外大神已经解决这个问题了,并提供了下载:https://pan.baidu.com/s/1FvnqjJYy-EdKEWcp6-LyaQ

以下进入正文:

1,修改php.ini的配置(注意extension_dir 指向的位置是否正确)

1.1、php连接mssql设置(php5.3以前版本)

打开php.ini,将;extension=php_mssql.dll前面的分号(;)去掉,确认ext存在php_mssql.dll,如果没有,从www.php.net重新下载一个php安装,然后重启 Apache。ps:默认好像就支持mssql2000了

保存php.ini后重启Apache。在cmd命令行里,根据php -m 的命令来查看sqlsrv和pdo_sqlsrv模块是否存在

1.2、php连接sqlsrv(php5.3以及以上版本)

(1)、下载Microsoft Drivers for PHP for SQL Server,官方下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098(只支持32位版本),非官方支持64的扩展下载:https://pan.baidu.com/s/1FvnqjJYy-EdKEWcp6-LyaQ

(2)、解压,然后将php_sqlsrv_56_ts.dll文件和php_pdo_sqlsrv_56_ts.dll文件复制到php安装目录下的ext文件夹中。此处根据php版本号和线程安全版本号选择相应dll文件。

(3)、在php.ini中添加

extension=php_sqlsrv_56_ts.dll

extension=php_pdo_sqlsrv_56_ts.dll

保存php.ini后重启Apache。在cmd命令行里,根据php -m 的命令来查看sqlsrv和pdo_sqlsrv模块是否存在

2,连接PDO的sqlsrv驱动代码示例:

对于1.2 如果还连不上,提示:could not find driver,可能还需要装ODBC驱动

下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=36434

YII代码:

$sqlsrv_db   = new Connection([
    'dsn'       => 'sqlsrv:server=ip,port;database=ecmall_dev',
    'username'  => 'xxxx',
    'password'  => '0000',
    'charset'   => 'utf8',
]);

  php SQL SERVER
分享到

作者  :  windfly

本文由 windfly 原创,未经作者许可禁止转载!转载若许可请注明来自 Windfly`s Blog



评论列表