Conexion Yii con mySQL en Español

Hola que tal a todos. Miren lo que pasa es lo siguiente. Estoy aprendiendo a utilizar este framework de yii que por cierto esta muy bueno sin embargo al momento de hacer una aplicacion no logro hacer la comunicación con Mysql. En la clase que me genera automaticamente le pongo lo siguiente.

‘db’ => array(

		'class' => 'CDbConnection',


		'connectionString' => 'mysql:host=localhost;dbname=application',


		'username' => 'root',


		'password' => 'admin',


	),</span>

Y no logro identificar cual es el error pues al momento de probar mi aplicacion me sale lo siguiente.

PHP Error

Description

include(PDO.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

Source File

C:\Users\Administrador\workspace\innevent\yii\framework\YiiBase.php(297)

00285:      * Class autoload loader.

00286:      * This method is provided to be invoked within an __autoload() magic method.

00287:      * @param string class name

00288:      */

00289:    public static function autoload($className)

00290:    {

00291:        // use include so that the error PHP file may appear

00292:        if(isset(self::$_coreClasses[$className]))

00293:            include(YII_PATH.self::$_coreClasses[$className]);

00294:        else if(isset(self::$_classes[$className]))

00295:            include(self::$_classes[$className]);

00296:        else

00297: include($className.'.php');

00298:    }

00299:

00300:    /**

00301:      * Writes a trace message.

00302:      * This method will only log a message when the application is in debug mode.

00303:      * @param string message to be logged

00304:      * @param string category of the message

00305:      * @see log

00306:      */

00307:    public static function trace($msg,$category='application')

00308:    {

00309:        if(YII_DEBUG)

Stack Trace

#0 C:\Users\Administrador\workspace\innevent\yii\framework\YiiBase.php(297): autoload()

#1 unknown(0): autoload()

#2 C:\Users\Administrador\workspace\innevent\yii\framework\db\CDbConnection.php(226): spl_autoload_call()

#3 C:\Users\Administrador\workspace\innevent\yii\framework\db\CDbConnection.php(208): CDbConnection->open()

#4 C:\Users\Administrador\workspace\innevent\yii\framework\db\CDbConnection.php(187): CDbConnection->setActive()

#5 C:\Users\Administrador\workspace\innevent\yii\framework\base\CApplication.php(733): CDbConnection->init()

#6 C:\Users\Administrador\workspace\innevent\yii\framework\base\CApplication.php(385): CWebApplication->getComponent()

#7 C:\Users\Administrador\workspace\innevent\yii\framework\db\ar\CActiveRecord.php(673): CWebApplication->getDb()

#8 C:\Users\Administrador\workspace\innevent\yii\framework\db\ar\CActiveRecord.php(1761): Calculadora->getDbConnection()

#9 C:\Users\Administrador\workspace\innevent\yii\framework\db\ar\CActiveRecord.php(525): CActiveRecordMetaData->__construct()

#10 C:\Users\Administrador\workspace\innevent\yii\framework\db\ar\CActiveRecord.php(538): model()

#11 C:\Users\Administrador\workspace\innevent\yii\framework\db\ar\CActiveRecord.php(353): Calculadora->getMetaData()

#12 C:\Users\Administrador\workspace\innevent\calculadora\protected\controllers\CalculadoraController.php(7): Calculadora->__construct()

#13 C:\Users\Administrador\workspace\innevent\yii\framework\web\actions\CInlineAction.php(32): CalculadoraController->actionIndex()

#14 C:\Users\Administrador\workspace\innevent\yii\framework\web\CController.php(265): CInlineAction->run()

#15 C:\Users\Administrador\workspace\innevent\yii\framework\web\CController.php(243): CalculadoraController->runAction()

#16 C:\Users\Administrador\workspace\innevent\yii\framework\web\CController.php(225): CalculadoraController->runActionWithFilters()

#17 C:\Users\Administrador\workspace\innevent\yii\framework\web\CWebApplication.php(335): CalculadoraController->run()

#18 C:\Users\Administrador\workspace\innevent\yii\framework\web\CWebApplication.php(123): CWebApplication->runController()

#19 C:\Users\Administrador\workspace\innevent\yii\framework\base\CApplication.php(170): CWebApplication->processRequest()

#20 C:\Users\Administrador\workspace\innevent\calculadora\index.php(11): CWebApplication->run()

Espero me puedan ayudar, por su atencion muchas gracias

Hola,

Puede ser que te falte el modulo PDO cargado en PHP, he visto un mensaje parecido en otro post y estaba causado por un modulo faltante

Espero que te funcione!

Hasta luego,

Alexandru.

Cuales son las especificaciones del servidor?

Sistema operativo?

Los requisitos minimales se puden ver en:

http://localhost/pat…ments/index.php

Hola!, me gustaría ayudarte pero la URL que colocaste es una URL local y por lo tanto no podemos acceder a ella, lo mejor que puedes hacer es colocar una foto de lo que te aparece en esa pantalla de requerimientos.

Un saludo!

Quote

Hola!, me gustaría ayudarte pero la URL que colocaste es una URL local y por lo tanto no podemos acceder a ella, lo mejor que puedes hacer es colocar una foto de lo que te aparece en esa pantalla de requerimientos.

Si te refieres al vínculo http://localhost/pat…ents/index.php;

era una respuesta a Buritica.

En todo caso muy amable y gracias.

Adjunto una imagen con los requerimientos, igualmente no son muchos, php 5.1 o mayor, y la base de datos que elijas.

esto puedes verlos una vez que allas descomprimido el framework, copia la carpeta ‘requirements’ o el contenido de la misma dentro de tu sitio web, cuando entres desde tu navegador apareceran los requerimientos.

Es importante que tengas instalado correctamente YII, para ello debes seguir los pasos de instalacion y correr la primera aplicacion que menciona el tutorial.

Si tienes algun problema solo avisa,

Salu2

luisdlo, tu problema es q el hosting donde estas probando tu app no tiene activa la extension de PDO, verifica en tu hostingo con un phpinfo(); si esta activo, de no estarlo puedes hacerlo mediante un php.ini , buscas la linea donde estas comentada seguramente el extension=PDO.dll

espero haber sido de ayuda

Saludos

ahh y si es hosting linux ( q asi deberia ser ) activas colocando esto en tu php.ini:

extension=pdo.so

extension=pdo_mysql.so

ahora si termine jeje

Saludos

Hola, Tengo un problema parecido, que me dice:

"include(CActiveRedord.php): failed to open stream: No such file or directory"

no se cómo solucionarlo que ya soy nuevo en yii.

SAludos

Hola CHenriquez,

Recuerdo que también tuve ese error, y si memoria no me falla, se debe al mismo problema… verifique que tenga activo PDO así como lo indica @mariano2009

Saludos