【问题标题】:Need help! I can't connect my program in oracle 11g using codeigniter需要帮忙!我无法使用 codeigniter 在 oracle 11g 中连接我的程序
【发布时间】:2016-05-30 04:12:53
【问题描述】:

我有一个使用 mysql 创建的程序,很快将迁移到 oracle 11g 数据库。我的问题是我的页面总是“未找到”,即使我已经在 config.php 和 database.php 中设置了所有更改

这是我的代码

config.php

$config['base_url'] = 'http://192.168.0.112:1521/testing/';

$config['base_url'] = 'http://192.168.0.112/testing/';

我也尝试在url上添加index.php

数据库.php

$active_group = 'oracle';
$active_record = TRUE;

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.112)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';
//112
$db['oracle']['hostname'] = $tnsname;
$db['oracle']['username'] = 'sample';
$db['oracle']['password'] = 'samplepass';
$db['oracle']['database'] = 'test';

$db['oracle']['dbdriver'] = 'oci8';
$db['oracle']['dbprefix'] = '';
$db['oracle']['pconnect'] = TRUE;
$db['oracle']['db_debug'] = TRUE;
$db['oracle']['cache_on'] = FALSE;
$db['oracle']['cachedir'] = '';
$db['oracle']['char_set'] = 'utf8';
$db['oracle']['dbcollat'] = 'utf8_general_ci';
$db['oracle']['swap_pre'] = '';
$db['oracle']['autoinit'] = TRUE;
$db['oracle']['stricton'] = FALSE;

请不要将其标记为重复我在这里没有找到其他问题的解决方案。我试图引用一些链接,但仍然无法正常工作。

输出:

找不到

在此服务器上找不到请求的 URL /testing/index。

Apache/2.2.3 (CentOS) 服务器在 192.168.0.112 端口 80

【问题讨论】:

  • An error for requested URL not found 不是由数据库连接问题引起的,而是与路由和/或.htaccess有关
  • 但我认为我的设置有问题。也许是我在 config.php 上调用它的方式。我不知道。
  • 我确定您的设置有问题,但很可能在您的路线或 .htaccess 中,因为错误与数据库无关。您的 .htaccess、routes.php、控制器中应该处理此请求的内容是什么?

标签: php mysql oracle codeigniter oracle11g


【解决方案1】:

改变

$config['base_url']    = 'http://192.168.0.112/testing/';

$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://") . $_SERVER['HTTP_HOST'] . preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])) . '/';

$config['base_path'] = $_SERVER['DOCUMENT_ROOT'] . preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])) . '/';

也改变自

$active_group = 'oracle';
$active_record = TRUE;

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.112)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';
//112
$db['oracle']['hostname'] = $tnsname;
$db['oracle']['username'] = 'sample';
$db['oracle']['password'] = 'samplepass';
$db['oracle']['database'] = 'test';

$db['oracle']['dbdriver'] = 'oci8';
$db['oracle']['dbprefix'] = '';
$db['oracle']['pconnect'] = TRUE;
$db['oracle']['db_debug'] = TRUE;
$db['oracle']['cache_on'] = FALSE;
$db['oracle']['cachedir'] = '';
$db['oracle']['char_set'] = 'utf8';
$db['oracle']['dbcollat'] = 'utf8_general_ci';
$db['oracle']['swap_pre'] = '';
$db['oracle']['autoinit'] = TRUE;
$db['oracle']['stricton'] = FALSE;

$active_group = 'default';
$active_record = TRUE;

//112
$db['default']['hostname'] = 192.168.0.112;
$db['default']['username'] = 'sample';
$db['default']['password'] = 'samplepass';
$db['default']['database'] = 'test';

$db['default']['dbdriver'] = 'oci8';
$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;

【讨论】:

  • 我收到了发生数据库错误无法使用提供的设置连接到您的数据库服务器。文件名:core/Loader.php 行号:346
  • 像 $this->db->get_where('user_tbl', array('username'=>$username, 'password'=>md5($密码)));
  • 在 autoload.php 文件中放入以下代码 $autoload['libraries'] = array('database', 'Freakauth_light');
  • 在 autoload.php 文件中 $autoload['libraries'] = array('database', 'Freakauth_light');
  • 遇到错误无法加载请求的类:freakauth_light ...我相信它的 $autoload['libraries'] = array('database', 'session');
猜你喜欢
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 2014-12-02
相关资源
最近更新 更多