zoukankan      html  css  js  c++  java
  • codeigniter教程:Codeigniter出现Unable to connect to your databas

    Codeigniter出现A Database Error Occurred错误

    下午把项目构建到服务器上的时候,codeigniter竟然出现了 a database error occurred 错误,以前在使用ci开发项目的时候没有遇到过这问题。

    在本地测试虚拟机测试环境下没有出现问题,构建到生产环境后出现问题,觉得应该是系统配置问题。没有认真找其中的缘由,临时找了个方法解决了测试项目了。

    1、更改入口文件 index.php 中的ENVIRONMENT 常量值

    更改:
    define('ENVIRONMENT', 'development');
    为:
    define('ENVIRONMENT', 'production');

    临时屏蔽错误出现。

    2、修改数据库配置项

    修改:
    $db['default']['db_debug'] = TRUE;
    为:
    $db['default']['db_debug'] = FALSE;

    以上两步就可以解决Codeigniter出现A Database Error Occurred错误的问题,这只是治标的方法。

    出现Unable to connect to your database server using the provided settings错误

    问题的真正原因了:没有权限访问数据库。

    错误提示:

    Unable to connect to your database server using the provided settings

    在找数据库链接问题的时候一直带着已经有权限访问的前提下去寻找答案,最后没辙了,又从源头开始找。

    解决过程:

    在config/database.php最后加上如下代码进行调试。

    echo '<pre>';
     print_r($db['default']);
    echo '</pre>';
    
    echo 'Trying to connect to database: ' .$db['default']['database'];
    $dbh=mysql_connect
    (
    $db['default']['hostname'],
    $db['default']['username'],
    $db['default']['password'])
    or die('Cannot connect to the database because: ' . mysql_error());
    mysql_select_db ($db['default']['database']);
    
    echo '<br />   Connected OK:'  ;
    die( 'file: ' .__FILE__ . '--> Line: ' .__LINE__);

    重新访问网站,提示服务器没有权限访问数据库,又屁颠屁颠地去设置了访问权限后,一切OK。

    通过这件事,得到教训:别人说的,有时未必完全是正确的,验证了那句话“眼见为实”。

  • 相关阅读:
    注册表修改大全(浏览文章时可以使用CTRL+F查找)
    怎样彻底删除系统服务项
    Linux查看文件编码格式及文件编码转换
    使用回收站主键名、索引名问题
    Aix5.3安装Bash Shell环境
    让AIX下的sqlplus也支持回显功能
    Oracle查看表空间使用率SQL脚本
    笔记本电脑内网、外网一起使用
    Oracle数据库为何出现乱码
    Oracle中varchar2(20)和varchar2(20 byte)区别
  • 原文地址:https://www.cnblogs.com/bluealine/p/8206182.html
Copyright © 2011-2022 走看看