我正在开发一个 Web 项目,该项目将部署在运行 IIS 7.5 和 PHP 5.3.8 的 64 位 Windows 2008 Server 计算机上。系统上的数据库是Microsoft SQL Server 2008 R2。我正在 CodeIgniter 2.1.0 框架上开发应用程序,但如何将其连接到 SQL Server 却有点困难。
我尝试过使用 MSSQL、ODBC 和 SQLSRV 数据库驱动程序,并且对于每个不同的驱动程序都遇到了三个单独的错误。
这是我的 ODBC 配置:
$db['default']['hostname'] = 'SA';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'odbc';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我在数据源下定义了 SA 的 DNS,并且我确信用户名和密码都有效,并且服务器接受混合身份验证(Windows + SQL 身份验证)。
我正在自动加载数据库库,对于我访问的任何页面,我都会得到:
Unable to connect to your database server using the provided settings.
Filename: C:\inetpub\wwwroot\system\database\DB_driver.php
Line Number: 124
如果我尝试通过 MSSQL 连接,无论如何我都会得到一个空白页。
如果我尝试使用以下参数使用 SQLSRV:
$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'sqlsrv';
即使我链接到 php.ini 中的 sqlsrv DLL 文件,我仍收到以下消息:
PHP Fatal error: Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\system\database\drivers\sqlsrv\sqlsrv_driver.php on line 76
我一直在阅读旧帖子和不同的观点,但我还没有解决问题。
我只是在寻找单个数据库驱动程序的解决方案 - 任何让它连接的东西都可以。有人对解决这个问题有什么建议吗?