phpstudy连接SQL Server 2008数据库中遇见的坑

遇见的坑

phpstudy启动失败

一般有两个原因导致失败:

  1. 端口号被占用
    解决方法有两种:

    • 修改Apache、MySQL的端口号(推荐)
    • 找出被占用端口号的程序,选择关闭程序(80端口可能被IIS使用,关闭后影响其他环境的使用)
  2. 运行模式
    解决方法:

    • 没有科学依据的说(/▽\),选择非系统模式下,启动成功的概率更高。



添加sql server 连接支持

正确有效的流程:

  1. phpstudy内勾选,php_sqlsrv和php_pdo_sqlsrv两项扩展;
    在哪儿勾选?👉 打开phpstudy面板-PHP扩展及设置-php扩展-找出php_sqlsrv以及php_pdo_sqlsrv勾选;

  2. 添加对应php版本的dll文件,并修改php.ini配置文件;

    • dll文件下载地址:链接:http://pan.baidu.com/s/1dFjbKXV 密码:exls;下载解压。
    • 根据phpinfo.php中Zend Extension Build信息,选择适当的版本;比如我的php版本是5.3(可在phpstudy的-php版本切换中查看当前版本号),且phpinfo.php页面中显示如下:
      image
    • 由此,选用php_sqlsrv_53_ts_vc9.dll以及php_pdo_sqlsrv_53_ts_vc9.dll这两个文件;

    • 修改php.ini文件为:

      1
      2
      3
      4
      ;extension=php_sqlsrv.dll
      ;extension=php_pdo_sqlsrv.dll
      extension=php_sqlsrv_53_ts_vc9.dll
      extension=php_pdo_sqlsrv_53_ts_vc9.dll
  3. 安装Microsoft SQL Server 2008 Native Client依赖

  4. 测试sql server连接是否成功;
    在环境根目录下新建文件index.php,文件代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    $serverName = "填数据库服务器地址"; //数据库服务器地址
    $uid = "填数据库用户名"; //数据库用户名
    $pwd = "填数据库密码"; //数据库密码
    $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"填数据库名称");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn == false){
    echo "连接失败!";
    die( print_r( sqlsrv_errors(), true));
    }else{
    echo "连接成功!";
    }
    ?>