将Codeigniter连接到Oracle 11g

将Codeigniter连接到Oracle 11g,codeigniter,oracle11g,connect,Codeigniter,Oracle11g,Connect,请帮忙!我无法将codeigniter连接到Oracle 我正在尝试将Codeigniter连接到Oracle 11g,以下是我的设置 Settings in database.php: $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = "//localhost/"; $db['default']['username'] = 'xxxxxxx'; $db['default']['pas

请帮忙!我无法将codeigniter连接到Oracle 我正在尝试将Codeigniter连接到Oracle 11g,以下是我的设置

Settings in database.php:

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

$db['default']['hostname'] = "//localhost/";
$db['default']['username'] = 'xxxxxxx';
$db['default']['password'] = 'xxxxxxx';
$db['default']['database'] = 'orcl';
$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;
注意:我将C:\instantclient\u 11\u 2添加到PATH的环境变量中

oracle port number:
oracle hostname: Home-pc
database name: orcl
只有在运行CodeIgniter登录代码时,才会显示以下错误消息:

A Database Error Occurred

Unable to connect to your database server using the provided settings.

Filename: D:\xampp\htdocs\ci\system\database\DB_driver.php

Line Number: 124
但我可以在运行简单的php代码时连接到Oracle,如:

<?php
$conn = oci_connect("xxxxxx", "xxxxxx","");
if (!$conn) { 
   echo "Not connected!";
}
else
  echo "yahooooooooo!!!!!!!!!!";
?>

结果: 哈哈哈

尝试进行此更改 将主机名更改为
http://localhost:1521:orcl
数据库名为
orcl
,默认情况下
orcl
是默认实例id。
尝试创建新用户或数据库,并将其更改为配置数据库中的配置
数据库

。php进行以下更改

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

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';

$db['default']['hostname'] = $tnsname;
$db['default']['username'] = 'XXXXXX';
$db['default']['password'] = 'XXXXX';
$db['default']['database'] = '';
$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;

确保
php\u oci8\u 11g.dll
扩展已加载到
php.ini
默认值更改为XE

$active_group = 'XE';
$active_record = TRUE;

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';

$db['XE']['hostname'] = $tnsname;
$db['XE']['username'] = 'XXXXXX';
$db['XE']['password'] = 'XXXXX';
$db['XE']['database'] = '';
$db['XE']['dbdriver'] = 'oci8';
$db['XE']['dbprefix'] = '';
$db['XE']['pconnect'] = TRUE;
$db['XE']['db_debug'] = TRUE;
$db['XE']['cache_on'] = FALSE;
$db['XE']['cachedir'] = '';
$db['XE']['char_set'] = 'utf8';
$db['XE']['dbcollat'] = 'utf8_general_ci';
$db['XE']['swap_pre'] = '';
$db['XE']['autoinit'] = TRUE;
$db['XE']['stricton'] = FALSE;

您是否尝试过将主机名保留为
localhost
ie,而不使用斜杠?是的,扩展已加载。谢谢Prakash,实际上这可能会奏效。我通过卸载oracle完整版本并将其替换为express版本解决了这个问题。它在相同的设置下工作Hanks Abin,这可能是一个很好的解决方案,但很抱歉我没有机会尝试。我卸载了我正在使用的Oracle完整版本,并将其替换为express版本,它与我的设置兼容