Error Crud Index.php No Encontrado

buenas.

Tengo interes en aprender yii, he bajado el framework, lo he instalado, y ahora es el paso del crub.

Mi problema es que yiic shell me devuelve siempre que index.php no es un archivo de entrada o no existe.

He buscado mucha informacion al respecto, aunque basicamente es siempre lo mismo, explicado en este enlace.

http://www.yiiframework.com/forum/index.php/topic/6961-yiic-shell-not-working-windows-xp/

El problema es que lo haga de la manera que lo haga no me funciona, siempre resulta el mismo error.

un par de detalles que pueden ser importantes:

· El servidor es un Xampp, so Win XP. (Cabe mencionar que este problema no lo tuve al instalarlo en xampp en ubuntu)

· debido a que en la consola cmd de windows no funciona el php, tanto la instalacion (funcionó) como este proceso los ejecuto desde la carpeta de php del xampp, es decir queda algo asi:

c:\xampp\php> php c:/xampp/htdocs/webs/proyecto/protected/yiic shell

He leido que es posible que este sea el problema, y que habia que llamr desde la misma carpeta del proyecto?..

aprovecho para saludar a la comunidad, espero aprender mucho y poder serles de ayuda en un futuro al igual que lo serán para mi ahora.

gracias

Hola, la solución es muy simple. Estas en "protected" donde no hay index. Ejecuta desde aquí "c:/xampp/htdocs/webs/proyecto/yiic shell"

Hola gunkan, tu solucion no me ha funcionado, me da como resultado que no puede abrir el fichero de entrada yiic, y cierto es que no existe un yiic ni yiic.php ni otro archivo que no sea index.php e index-test.php

por esto quizas tenia sentido lo que en otros post tienen como solucion que es añadir ../index.php pero en mi caso nada de nada

esto me hace dudar si realmente se me ha instalado bien el framework…

gracias por responder

Edito: he reinstalado y lo mimso nada cambia.

Supongo que tienes el framework copiado en la raiz del httpdocs (C:\xampp\htdocs). Yo lo tengo en C:\xampp\htdocs\yii.

  • Abre una ventana de comandos de MSDOS:

  • Accede a C:\xampp\htdocs\yii\framework (cd C:\xampp\htdocs\yii\framework)

  • Creamos el proyecto: C:\xampp\htdocs\yii\framework\yiic webapp ../../testdrive

Ya tenemos el proyecto en C:\xampp\htdocs\testdrive

Y ahora el CRUD:

  • Los ejecutables de la linea de comandos yii shell se encuentan ya en C:\xampp\htdocs\testdrive\protected. Pero el index se encuentra en C:\xampp\htdocs\testdrive\index.php

  • Ahora desde C:\xampp\htdocs\testdrive\ escribe "C:\xampp\htdocs\testdrive>.\protected\yiic shell

He realizado lo que me has dicho, que es lo mismo que tenia yo pero omitiendo el nivel "webs", pero sigue fallando en lo mismo.

Para ejecutar php tengo que estar en el directorio c:/xampp/php> por lo que mi orden varia ligeramente pero en esencia es lo mismo:

c:\xampp\php> php c:\xampp\htdocs\testdrive\protected\yiic shell

resultado otra vez lo mismo, no puede abrir el index.php

Hola Ale,

Creo que alguna vez tuve un problema parecido… Si mal no recuerdo la solución fue:

Desde la raíz del proyecto:


C:\Ruta\a\PHP\php.exe .\protected\yiic shell

Saludos.

Efectivamente, la solucion era llamar desde el directorio mismo, pero con la ruta del php.exe absoluta. En resumen es mi desconocimiento del msdos.

Gracias robregonm tu solucion me ha servido mucho, aunque ha derivado en otra serie de errores que en parte tambien he podido corregir (gracias nuevamente por topic/40712-problemas-con-el-crud/ fue mi siguiente problema) y bueno antes de nada debo seguir aprendiendo sobre gii para ver si son errores o inutilidades mias.

un saludo!

PD: lo de [SOLUCIONADO] lo tengo que hacer yo? como lo hago?

La mejor solucion es agregar a las variables del sistema la ruta del PHP …

Si es win7 ejecuta cmd como adminsitrador, y escribi lo siguiente:

c:\>PATH

Te va a devolver todo el contenido de la variable

Copialo y pasalo al block de notas, copia el path de php, por ejemplo: c:\xampp\bin\php\ y se lo agegas al final.

Luego al principio pega esto:

SETX

De modo que te quede:

SETX "{valor1},{valor2},{valor3},c:\xampp\bin\php\"

Copias todo y lo ejecutas en el cmd.

Esto va a hacer que se incluya el directorio de bin\php dentro de la variable donde el sistema busca los ejecutables. Osea que si escribis php no vas a tener problema de donde estes … osea de cualquier directorio…

Saludos!