【问题标题】:Undefined function mssql_connect() Codeigniter 3.0 + Azure Database + 000webhost + PHP 5.6未定义函数 mssql_connect() Codeigniter 3.0 + Azure 数据库 + 000webhost + PHP 5.6
【发布时间】:2018-06-19 11:27:42
【问题描述】:

我在 000webhost (PHP 5.6) 上使用 Codeigniter 3.0 并尝试连接到 microsoft azure 上的数据库。

我的 database.php 文件有以下配置:

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'xxxx.database.windows.net',
    'port' => '1433',
    'username' => 'abcd',
    'password' => '*****',
    'database' => 'mydb',
    'dbdriver' => '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
);

我收到以下错误:

我尝试将 dbdriver 更改为 sqlsrv。但是,我得到了同样的错误,除了现在它抱怨 sqlsrv_connect() 未定义。

PHP 信息如下: PHP INFO OUTPUT

【问题讨论】:

  • mssql 扩展未启用,启用后再检查
  • @prasannaputtaswamy 你能告诉我如何启用 mssql 扩展吗?我正在使用 000webhost 免费帐户。我可能无法访问 PHP 安装等。
  • 它将在 php.ini 中查找 php_mssql.dll 以获取更多详细信息,请查看以下链接php.net/manual/en/mssql.installation.php
  • 要连接到哪个数据库的 mssql 或 mySQL

标签: php sql codeigniter azure-sql-database codeigniter-3


【解决方案1】:

试试这个, application\config\database.php 中的设置应该是这样的:

'hostname' => '<server_name>.database.windows.net,1433',
'username' => '<username>',
'password' => '<password>',
'database' => '<database>',
'dbdriver' => 'sqlsrv',
'pconnect' => FALSE,

Azure 不会自动安装 php_mssql.dll,但会安装 php_sqlsrv.dll 所以上面说的。

【讨论】:

  • 它也不起作用。现在它给出了错误 sqlsrv_connect() is undefined。我在原帖中已经提到了这一点。
【解决方案2】:

根据你的phpinfomysqli 安装试试这个

'dbdriver' => 'mysqli',

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2018-03-02
    相关资源
    最近更新 更多