使用 codeigniter 使用 PHP 5.6.x(xampp) 配置 MYSQL

configuration MSSQL with PHP 5.6.x(xamp) using code-igniter

我在使用 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 文件(我分别测试了 tsnts

下面是我在 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
);

错误

Unable to connect to your database server using the provided settings.

Filename: C:/xampp/htdocs/sqlsrv/system/database/DB_driver.php

Line Number: 436

我在 XAMP 中使用 PHP 版本 5.6.14。

恕我直言,你应该为此使用 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
);