php - Codeigniter - SQLServer 数据库连接错误

标签 php sql-server web tcp codeigniter-3

有问题要分享。 所以我尝试将 Codeigniter 3.0.5 连接到 SQL Server。但是,无论我尝试什么,我总是会收到此错误。

    A Database Error Occurred
    Unable to connect to your database server using the provided settings.
    Filename: core/CodeIgniter.php
    Line Number: 500

我的设置是

    $active_group = 'default';
    $query_builder = TRUE;

    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'MYSQLSERVERHOSTNAME',
        'username' => '',//Empty I dont use any (Windows Auth)
        'password' => '',//Dont use any
        'database' => 'MYSQLSERVERDATABASENAME',
        'dbdriver' => 'sqlsrv',
        '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
    );

我已启用 TCP/IP 并在 IPAll 上添加了 1433 端口。重新启动服务几次,仍然出现此错误。但是,我其他 friend 的计算机可以使用此设置连接到数据库。 我使用 PHP 5.6 和 SQLSRV32 作为扩展。 有谁知道为什么?以及如何检查 CI 连接到数据库的错误日志?

PS:我尝试复制我的 friend CI(运行的那个),以防我在编码时遗漏某些内容并删除了一些行,然后我更改了主机名,但它仍然没有用。所以我的 SQL 安装可能有问题,所以我尝试在控制面板中检查安装......但没有什么不同,因为我们使用的是同一个安装。在这里真的很困惑......

非常感谢!

最佳答案

嘿,浏览了一下之后我发现了为什么我无法连接到 sqlsrv 的问题。我一直缺少 odbc 11 驱动程序。我知道在我在 config/database.php 上编写此行之后

$link = sqlsrv_connect('SQLSERVERHOSTNAME');

if (!$link) {
     print_r(sqlsrv_errors());
     die();
}

所以是的,我不知道为什么我必须先安装这个驱动程序,因为当我问我的 friend 时,他不记得安装 odbc 驱动程序 11手动。所以是的,如果您是少数遇到这个奇怪问题的人之一,请尝试检查日志。顺便感谢您的帮助 hehe :D

关于php - Codeigniter - SQLServer 数据库连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073697/

相关文章:

php - SOAP 请求 header 格式不正确(包含 <item>、<key> 和 <value>)

php - 获取mysql中的最新行

ruby-on-rails - 从 Rails 应用程序发送短信

iis - 如何使用 WiX 将应用程序添加到现有的 IIS 站点

python - 我如何使用 jinja2 逐行将文件呈现为 html

php - 正则表达式麻烦

php - 从数组创建 SQL

sql-server - SQL Server 2012 : Sort operator causing tempdb spill

sql - 为什么索引查找会在统计数据中显示高扫描计数?

c# - 使用 C# 与 SQL 集成服务对话