2012-06-05 33 views
8

Me está costando usar assetics para cargar recursos en mis vistas (trabajo con Symfony2). Estaba trabajando en Linux (Ubuntu 10.4) y cambié a Windows 7 hace unos días. Siempre tuve problemas (algunas imágenes no se cargaban, por ejemplo), pero al menos la mayoría de las imágenes y todos los estilos y scripts se cargaban correctamente.Symfony2 y Assetics: ¿enlace simbólico en Windows 7?

Cuando cambié a Windows, algunos recursos no estaban cargando, por lo que intentaron una php app/console assets:install web --symlink

Me ha sorprendido ver que se había eliminado toda la carpeta pública del paquete que estaba trabajando. Y no había forma de encontrar las fuentes de nuevo (afortunadamente, había guardado algunos de ellos, y pude recuperar la mayor parte de mi trabajo gracias a los archivos en caché).

Después de recuperar mis archivos (y hacer una copia de seguridad de ellos), traté de ordenar nuevamente. Mismo resultado. Intenté sin el --symlink y creó algunas carpetas en la carpeta web/bundle, en lugar de archivos que estaban allí antes (supuestamente, los enlaces simbólicos).

Ahora el comando ni siquiera responde (ha estado borrando mis fuentes incluso en algunas de mis carpetas de respaldo !!).

Conclusión: ¿hay alguna manera de configurar los elementos en Windows 7 para que no coman mis archivos y carguen los recursos (incluidas las imágenes en css) correctamente?

¡Gracias de antemano!

Editar:

que acaba de ejecutar el comando de nuevo y esta vez funcionó (copiar los archivos en la web/paquete/...). Debo decir que realmente no entiendo cómo o por qué funcionó esta vez ... Si por casualidad alguien sabe ...

Respuesta

4

Symfony2 usa la función PHP symlink, de acuerdo con los documentos debería funcionar para Windows Vista, Servidor 2008 o más.

De forma predeterminada only Administrators can create symlinks in Windows. Por lo tanto, deberá utilizar un aviso elevado o otorgarle a su usuario el privilegio SeCreateSymbolicLinkPrivilege.

+0

Eso es lo que vi, pero estaba teniendo problemas, sin embargo ... Bueno, ahora que está funcionando de manera ... –

+1

No está funcionando para nosotros en un cuadro de Windows 7 con XAMPP y PHP 5.3.8, independientemente de la documentación, consulte http://stackoverflow.com/questions/13376319/php-symlink-fails-on-windows-7 –

24

Para ejecutar assets:install web --symlink en una PC necesita una elevated command prompt (palabra de lujo para cmd.exe en modo Administrador).

+1

esta parece ser la respuesta correcta – thedjaney

+1

Esta debería ser la respuesta correcta, los enlaces simbólicos solo se pueden crear con privilage de administrador. No entiendo por qué –

1

Puedes hacerlo con la consola de Windows, pero Git Bash es mucho más agradable. Consíguelo y descárgalo. PD. Si nunca usó git antes, este es el momento adecuado para comenzar. :)

Cuando lo instaló, busque en los programas de Windows para git bash y haga clic derecho para ejecutarlo como administrador. Si tiene Git bash abierto desde el botón derecho en la carpeta actual "git bash aquí", no funcionará porque no se inicia de manera predeterminada en modo administrador. Si hiciste esto, obtienes esta advertencia.

app/console assets:install web --symlink 

enter image description here advertencias. Copia impresa donde se usa en lugar de enlaces simbólicos.

Sin embargo, si juegas bien y lo haces como dije.(Ejecutar como administrador .. obtendrá todo el trabajo agradable y suave

app/console assets:install web --symlink 

enter image description here enlaces simbólicos donde creada :) Ahora usted no necesita activos:.! Instalar cada vez que ha realizado cambios en los archivos CSS.

Ps. La consola de git bash es más bonita que la consola de Windows nativa, pero ... por ejemplo, el sistema Unix como Ubuntu se vería aún mejor. También Symfony en Windows con Xamp funcionará mucho más lento que en el sistema Linux Ubuntu. Estoy hablando de una respuesta de página de 5 a 20 veces más rápida en Linux.

0

Puede añadir esta opción de configuración en su composer.json:

{ 
    "extra": { 
     "symfony-assets-install" : "symlink", 
    } 
}