un problema raro con Gii

Hola, estoy trabajando con yii desde hace poco tiempo y tengo un pequeño inconveniente.

Cuando quiero utilizar Gii no logro pasar de login. No me da error, ingreso la clave, hace un proceso rapido y luego retorna al formulario del login.

Si pongo otra clave me error de clave erronea

Probé con chrome y firefox desde linux

Probé con firefox e IE 7 desde windows XP

Instale Giix

Baje la ultima versión de yii

Reinstale yii

Genere un proyecto nuevo

Siempre obtengo el mismo resultado.

Busque por Internet y probé algunas cosas pero sin resultados.

Anteriormente lo había utilizado sin problemas, usando fedora 14 x64

Estoy trabajando con Fedora 15 x64 y eclipse helios.

Alguien tiene alguna idea de por donde buscar??

Desde ya muchas gracias.

Marcelo:

La configuración de Gii en protected/config/main.php es muy importante:




'modules'=>array(

	'gii'=>array(

            'class'=>'system.gii.GiiModule',

            'password'=>'password_es_requerido',

		'ipFilters'=>array('1.2.3.4','5.6.7.8','127.0.0.1','::1'),

		'newFileMode'=>0666,

		'newDirMode'=>0777,

	),

...



Las direcciones IP son requeridas y bastante estrictas; si no están correctas se comportará como explicas en tu post. Verifícalas y trata de nuevo. Buena suerte.

JF, si el tema de las ip lo vi, mi pc tiene la ip 192.168.1.10 y prove desde comentar la linea correspondiente al ipFilter, a las siguientes opciones:

‘ipFilters’=>array(‘127.0.0.1’,’::1’),

‘ipFilters’=>array(‘192.168.1.10’,’::1’),

‘ipFilters’=>array(‘127.0.0.1’,‘192.168.1.10’,’::1’),

‘ipFilters’=>array(‘127.0.0.1’,‘192.168.*’,’::1’),

lo que no tengo puesto es lo que continua:

‘newFileMode’=>0666,

‘newDirMode’=>0777,

tiene que ver el orden de las ip?, directorios tienen permisos completos.

la estrucutra de directorio es la siguiente

../servidor

  |


  +-codigo


  |    |


  |    +yii   <- donde esta el framework


  |


  +-web <--- directorio raiz del servidor web


     |


     +sitio   <- donde esta el sitio generado

Gracias.

Marcelo:

‘newFileMode’ y ‘newDirMode’ aplican a Linux pero me imagino que tienen un equivalente en WinXP, y no tienen que ver con los IP’s. El orden en que se definen los IP’s tampoco es crítico.

Sin más información se me hace difícil diagnosticar el problema; ¿puedes postear un log?

En protected/config/main.php activa el log eliminando los delimitadores de comentarios de CWebLogRoute:




'log'=>array(

            'class'=>'CLogRouter',

            'routes'=>array(

                array(

                    'class'=>'CFileLogRoute',

                    'levels'=>'error, warning',

                ),

				

            // uncomment the following to show log messages on web pages

                array(

                    'class'=>'CWebLogRoute',

                ),

            

            ),

        ),



y entonces verás la bitácora de ejecución. El rastro te puede indicar en dónde falla el login de Gii.

Bueno, sigo con el problema. Por las dudas realice una instalación desde cero del S.O. :blink: (Fedora 15 x64). Instale todo lo que hace falta. Genere una nueva aplicación y nada.

En el navegador (firefox) pongo la siguiente url: 192.168.1.10/rgestion/index.php?r=gii/default/login

En el main.php esta configurado de la siguiente manera:

   'modules'=>array(


	// uncomment the following to enable the Gii tool


	'gii'=>array(


		'class'=>'system.gii.GiiModule',


		'password'=>'abc123',


	 	// If removed, Gii defaults to localhost only. Edit carefully to taste.


		'ipFilters'=>array('127.0.0.1','192.168.1.10','::1'),


	),


),

En resumidas cuentas, cuando pongo la url me pide la clave, si esta mal, me da el error de clave incorrecta, si esta bien, vuelve otra ves a login del gii.

Alguien tiene alguna idea por donde puede estar el problema.

Desde ya muchas gracias.

Este es el log que me envia, no veo nada raro.

Application Log

Timestamp Level Category Message

18:38:59.515976 trace system.CModule

Loading "log" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.516580 trace system.CModule

Loading "request" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.516809 trace system.CModule

Loading "urlManager" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.517033 trace system.base.CModule

Loading "gii" module

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.518729 trace system.CModule

Loading "user" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.519001 trace system.CModule

Loading "session" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.519937 trace system.CModule

Loading "widgetFactory" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.521770 trace system.CModule

Loading "clientScript" application component

in /sistemas/servidor/web/rgestion/index.php (13)

18:38:59.522800 trace system.CModule

Loading "assetManager" application component

in /sistemas/servidor/web/rgestion/index.php (13)

Marcelo:

El problema es bien extraño porque según lo que has posteado todo se ve bien, en teoría. Yo traté de accederlo en mi proyecto usando el IP en lugar del nombre DNS y ni siquiera levantó la pantalla de login, lo que me hace pensar que el problema puede estar relacionado a reglas de redirección en urlManager o quizá en .htaccess porque yo tengo algunas reglas definidas. Verifica eso.

Bueno, comento un par de cosas por si pueden ayudar a este raro problema.

En los proyectos anteriores lo usaba sin problema, el cambio fue cuando pase de fedora 14 a fedora 15.

Por otro lado no uso apache como servidor web, sino que cherokee por lo que .htaccess no tiene efecto. Igual controle el servidor por las dudas.

Sigo investigando.

Evidentemente la diferencia está en el cambio de Fedora. Chequea que la versión de PHP y JavaScript; a mí PHP Console me indicó problemas con el lazy loading en JavaScript de Gii, aunque funciona. No conozco Cherokee así que no te puedo ayudar con él.

Fedora es divertido para experimentar pero cambia tan rápido que no lo uso para proyectos comerciales.

:rolleyes:

Esta resuelto!

El problema es el siguiente, uso cherokee y donde php guarda las sesiones (/var/lib/php/session) tiene permiso apache, y no cherokee.

Solo cambie los permisos y anduvo perfecto.

Esta solución la encontré en otra parte del foro pero en ingle le dejo el link por si les interesa

de donde saque la respuesta

Gracias por la ayuda prestada.

Me alegra que hayas resuelto el problema!

Buen dato para tenerlo en cuenta en implementaciones con Cherokee :wink:

Saludos

Hola…una consulta respecto a tu tema…por lo ke veo es ke la ip es la ke te asigna el router pero no la real…has probado con la ip real de tu ekipo??

saludos y espero tu respuesta

Saludos a todos, yo tenía un problema similar, al intentar logearme, me regresaba a la página de login pero ésta, completamente en blanco y sin hacer ninguna acción.

Depues de todo resultó ser que no tenía instalada la libreria "curl" que el proyecto requeria para el sistema de logueo que empleaba.

Solución: en consola de linux…


aptitude install php5-curl

Reinicie el ordenador y ahora ya funcionaba el logueo.

Suerte a todos