php - español - codeigniter tutorial
Error Codeigniter: Llamada a la función no definida mysql_pconnect() (5)
He actualizado mi versión de codeigniter de 2.2.4 paso a paso a 3.0.6 y recibo un error:
An uncaught Exception was encountered
Type: Error
Message: Call to undefined function mysql_pconnect()
Filename: path-to-project/system/database/drivers/mysql/mysql_driver.php
Line Number: 135
Backtrace:
File: path-to-project/application/controllers/Main.php
Line: 10
Function: __construct
File: path-to-project/index.php
Line: 315
Function: require_once
Acabo de reemplazar mi archivo index.php y el directorio del sistema con el nuevo e hice algunos cambios en mi aplicación de acuerdo con el tutorial.
y este es el controlador principal:
class Main extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model(''main_model'');
}
}
¿Qué causa el problema?
Y este es el enlace del tutorial.
Gracias a Anant
Llego a una conclusión:
Cambié completamente mi antiguo archivo database.php en la carpeta de configuración con el nuevo:
Desde:
$db[''default''][''hostname''] = ''localhost'';
$db[''default''][''username''] = '''';
$db[''default''][''password''] = '''';
$db[''default''][''database''] = '''';
$db[''default''][''dbdriver''] = '''';
$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;
A:
$db[''default''] = array(
''dsn'' => '''',
''hostname'' => '''',
''username'' => '''',
''password'' => '''',
''database'' => '''',
''dbdriver'' => ''mysqli'',
''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
);
¡Y el error se ha ido!
Si este error ocurrió cuando aloja el sitio web, asegúrese de configurar la versión de PHP correcta (la que usa su CI).
Solo haz cambios en el archivo database.php
$db[''default''][''dbdriver''] = ''mysql'';
a
$db[''default''][''dbdriver''] = ''mysqli'';
cambie "mysql" a "mysqli" en el archivo database.php
$db[''default''][''dbdriver''] = ''mysqli'';
Funciones obsoletas en PHP 5.5.x :
La extensión de MySQL original ahora está en desuso y generará errores E_DEPRECATED al conectarse a una base de datos. En su lugar, use las extensiones MySQLi o PDO_MySQL.
Estás usando el dbdriver
''mysql''
dbdriver
. Localice el archivo config/database.php
y cambie dbdriver
para usar ''mysqli''
:
$db[''default''][''dbdriver''] = ''mysqli'';