配置MSSQL与PHP 5.6.x(xamp)使用代码点火器

时间:2018-02-09 09:14:55

标签: php sql-server codeigniter sqlsrv

使用我的codeigniter配置MSSQL DATABASE时遇到问题。我已将这些文件放在xamp/php/ext

  1. php_pdo_sqlsrv_56_ts.dll
  2. php_sqlsrv_56_ts.dll
  3. php_sqlsrv_56_nts.dll
  4. php_pdo_sqlsrv_56_nts.dll

    我还确保在php.ini中扩展dll文件(我已经分别测试了 ts nts

  5. 以下是我在codeigniter中的数据库文件

    $db['default'] = array(
    'dsn'   => '',
    'hostname' => 'tcp:xyz.database.windows.net',
    'username' => '****',
    'password' => '****',
    'database' => '****',
    'dbdriver' => 'sqlsrv', // i have use also mssql 
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
    );
    

    错误

      

    无法使用提供的设置连接到数据库服务器。

         

    文件名:C:/xampp/htdocs/sqlsrv/system/database/DB_driver.php

         

    行号:436

    我在XAMP中使用PHP 5.6.14版。

1 个答案:

答案 0 :(得分:0)

imho你应该使用dsn - 因为你也安装了pdo驱动程序,你可以尝试以下(1433是端口 - 我不认识你的):

$db['default'] = array(
    'dsn'   => 'sqlsrv:server=xyz.database.windows.net,1433;Database=****',
    'hostname' => '',
    'username' => '****',
    'password' => '****',
    'dbdriver' => 'pdo', // i have use also mssql 
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);