Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Puesta en Producción proyecto Symfony2

Estas en el tema de Puesta en Producción proyecto Symfony2 en el foro de Symfony en Foros del Web. Buenas noches! Finamente he terminado mi primer proyecto usando este Framework y agradezco a los usuarios de este foro que me ayudaron a despejar mis ...
  #1 (permalink)  
Antiguo 25/04/2015, 22:18
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Puesta en Producción proyecto Symfony2

Buenas noches!

Finamente he terminado mi primer proyecto usando este Framework y agradezco a los usuarios de este foro que me ayudaron a despejar mis dudas...

Ahora no he logrado ponerlo en producción ya subí todos los archivos en el servidor, incluso seguí los pasos de la documentación pero no he logrado nada, si pueden ayudarme y me envían links o algo que me sirva...

Lo normal es que cada proyecto cuando subes un proyecto creas un index que es la pag principal... En este caso con symfony ¿Como se hace?

Saludos y gracias de ante mano
  #2 (permalink)  
Antiguo 27/04/2015, 10:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Puesta en Producción proyecto Symfony2

El index.php esta en el Directorio web, requieres que el DocumentRoot de tu virtual host apunte a ese directorio. Si tu servicio es compartido es probable que tengas que adaptar la estructura de directorios a la que utiliza tu servicio.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 27/04/2015, 11:43
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Puesta en Producción proyecto Symfony2

Recuerda tambien que el archivo de entrada en Symfony no se llama index.php, se llama app.php para entornos de produccion y app_dev.php para entornos de desarollo.
__________________
Aprendiendo!!!
  #4 (permalink)  
Antiguo 27/04/2015, 12:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Puesta en Producción proyecto Symfony2

tienes toda la razón anacona16, creo que laravel me esta afectando
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 27/04/2015, 14:07
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Cita:
Iniciado por anacona16 Ver Mensaje
Recuerda tambien que el archivo de entrada en Symfony no se llama index.php, se llama app.php para entornos de produccion y app_dev.php para entornos de desarollo.
Anaconda16 vale es el app.php pero hay que editar algo en ese archivo? es que no muestra nada! En todo caso debería mostrar el formulario de login (Usé el UserBundle)... No se si eso requiera de alguna modificación
  #6 (permalink)  
Antiguo 27/04/2015, 14:22
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Puesta en Producción proyecto Symfony2

Por lo general en la carpeta publica de un hosting esta el index.php, que supongo es donde tu haz subido tus archivos, ejemplo:

Código PHP:
Ver original
  1. /public_html:
  2.     index.php

Al subir tu proyecto Symfony, quedaria algo asi:

Código PHP:
Ver original
  1. /public_html:
  2.     vendor/
  3.     app/
  4.     bin/
  5.     web/
  6.     src/
  7.     ...

Pero la configuración del hosting sigue buscando un index.php en la raiz, lo cual no aplica para un proyecto Symfony, ya que como mencione anteriormente el archivo de entrada esta en la carpeta web y se llama app.php

De aqui a lo que puedas hacer depende mucho de tu proveedor de hosting, si puedes acceder un nivel mas arriba de la carpeta public_html, prueba con esta guia de la doc oficial:

http://symfony.com/doc/current/cookb...structure.html

Si no puedes acceder un directorio mas arriba entonces deberias probar con alguna regla mediante el .htaccess que te permita redireccionar todas las peticiones de un /index.php a web/app.php

De ahi que no todos los servers son para Symfony.
__________________
Aprendiendo!!!
  #7 (permalink)  
Antiguo 28/04/2015, 09:31
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

He redireccionado mi dominio para que apunte al app.php incluso le cambié el nombre a index.php, lo pruebo local y si me funciona pero en el servidor aún nada...

Seguiré buscando una solución cuando la tenga la publico acá.. Muchas gracias =)
  #8 (permalink)  
Antiguo 28/04/2015, 09:53
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Puesta en Producción proyecto Symfony2

Algún log que te arroje el servidor?
__________________
Aprendiendo!!!
  #9 (permalink)  
Antiguo 28/04/2015, 12:28
Avatar de cbretana  
Fecha de Ingreso: junio-2013
Ubicación: Pinar del Rio
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Hola, chequeaste eliminar la cache de prod?, pues esto me ocurrio, y nada mas que elimine la cache de prod manualmente, se resolvio, e incluso, cada vez que hago algun cambio mayor en el sistema y sobreescribo los cambios con el servidor, la cache tengo que eliminarla, es solo algo posible, no digo que sea la solucion, saludos.
__________________
.::Una imagen vale mas que mil palabras::.
  #10 (permalink)  
Antiguo 01/05/2015, 17:09
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Cita:
Iniciado por anacona16 Ver Mensaje
Algún log que te arroje el servidor?
No no me ha arrojado nada! Sigue sin mostrarme el contenido de mi web
  #11 (permalink)  
Antiguo 01/05/2015, 17:11
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Cita:
Iniciado por cbretana Ver Mensaje
Hola, chequeaste eliminar la cache de prod?, pues esto me ocurrio, y nada mas que elimine la cache de prod manualmente, se resolvio, e incluso, cada vez que hago algun cambio mayor en el sistema y sobreescribo los cambios con el servidor, la cache tengo que eliminarla, es solo algo posible, no digo que sea la solucion, saludos.
Si la he borrado pero aún sigue sin mostrarme el contenido de mi aplicación
  #12 (permalink)  
Antiguo 03/05/2015, 17:24
 
Fecha de Ingreso: agosto-2013
Mensajes: 12
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Hola, estoy con los mismos problemas que norbbs, tratando de iniciar Symfony en un hosting económico (ya tengo un ejemplo hecho en localhost que camina bien). Mi estructura es:

- archivos_symfony

- public_html/archivos_web_symfony

Hice esto siguiendo una estructura que tenía en un proyecto Laravel, y que funcionaba bien.

El tema es: cómo conecto el interior de 'archivos_web_symfony' (la carpeta 'web', que se encontraba dentro del framework) con el resto del framework (que ahora está un nivel arriba, a la misma altura que 'public_html')?

Ya toqué la línea (en 'archivos_web_symfony/config.php'):

// require_once dirname(__FILE__).'/../app/SymfonyRequirements.php';
require_once dirname(__FILE__).'/../../archivos_symfony/app/SymfonyRequirements.php';

... pero no logro mostrar 'app.php' (también redirigí todo a 'public_html/archivos_web_symfony').

A ver si juntando fuerzas lo logramos, ja.

Saludos!
  #13 (permalink)  
Antiguo 04/05/2015, 12:46
 
Fecha de Ingreso: agosto-2013
Mensajes: 12
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Bueno, logré conectar con app.php.

No pude hacerlo dentro de una carpeta interior a 'public_html', opté por la forma que figura en la mayoría de las páginas consultadas, directamente en esa carpeta.

Al parecer es necesario también renombrar el 'symfony-web-dir', en composer.json, con el nombre de la carpeta que contenga los archivos de 'web':

"symfony-web-dir": "public_html",

Ahora tengo problemas con .htaccess, tuve que quitar el que viene por defecto y generar uno nuevo con el 'cpanel' de mi hosting, pero no me termina de convencer ya que no me oculta la ruta 'app.php', y me parece mucho más básico que el creado por default.

Después generé un bundle básico en localhost, para empezar a cargar lo que quiero, lo subí al hosting y también funcionó.

Si no pudiste mostrar todavía app.php o app_dev.php, te puedo dar una mano.

Saludos.
  #14 (permalink)  
Antiguo 04/05/2015, 13:28
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Te lo agradecería zhenher mi skype es norbbs
  #15 (permalink)  
Antiguo 04/05/2015, 14:08
 
Fecha de Ingreso: agosto-2013
Mensajes: 12
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Hola norbbs, no uso skype, pero podemos intentarlo por acá, no puede ser tan complicado.

Lo mío funciona a medias, pero por lo menos muestra las páginas iniciales, app.php y app_dev.php. También una ruta que agregué con un bundle.

Lo que hice fue: subir el framework a una carpeta en la raíz del proyecto, excepto la carpeta web; al contenido de web lo puse en 'public_html' (quería hacerlo de otra forma pero no funcionó); después fui al archivo composer.json y modifiqué la línea:

"symfony-web-dir": "web"

... por

"symfony-web-dir": "public_html"

... que es donde puse el contenido de 'web'.

También cambié el .htaccess porque no me estaba bien configurado, me impedía acceder, voy a tener que ver bien cómo dejarlo más aceptable porque no conozco demasiado de eso.

Me basé en http://symfony.com/doc/current/cookbook/configuration/override_dir_structure.html y me sirvió.

También, antes de modificar el .htaccess, tuve que agregar 'app_dev.php' manualmente en la barra de direcciones ('mi_web/app_dev.php') porque si no no cargaba nada.

Cómo tenés la estructura de directorios vos?
  #16 (permalink)  
Antiguo 04/05/2015, 14:18
 
Fecha de Ingreso: agosto-2013
Mensajes: 12
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Ah, y me olvidaba, en 'app.php' y en 'app_dev.php', hay que modificar dos líneas:

1)
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';

... colocar la ubicación de la carpeta en donde está colocado el framework:

$loader = require_once __DIR__.'/../ubicación_de_mi_framework/app/bootstrap.php.cache';

2)
... y también en:

require_once __DIR__.'/../app/AppKernel.php';

... lo mismo, apuntá a la nueva ubicación en el framework:

require_once __DIR__.'/../ubicación_de_mi_framework/app/AppKernel.php';

Esas dos líneas están en los dos archivos (que ahora estarán en 'public_html'), cambialas en ambos, 'app.php' y 'app_dev.php'.

Probá y avisame.
  #17 (permalink)  
Antiguo 05/05/2015, 15:25
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Pues nada! aún no doy con el problema pero lo que si me di cuenta es que examinando los archivos 'app.php' y 'app_dev.php' luego de ejecutar está línea
Código PHP:
$response $kernel->handle($request); 
no muentra nada más y creo que allí está el problema pero no tengo idea de como resolverlo...
  #18 (permalink)  
Antiguo 08/05/2015, 17:08
 
Fecha de Ingreso: octubre-2013
Mensajes: 35
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Yo he subido a un hosting compartido sin problemas, subí el directorio web a la carpeta public, antes de subir todo el proyecto eliminé las caché totalmente, luego de subir el proyecto fui a app.php y cambie el modo produccion true $kernel = new AppKernel('prod', true); y en el app_dev.php lo contrario lo puse como false y funcionó sin problemas, también procura que el htacces este correcto apuntando a esas clases
Código HTML:
Ver original
  1. <IfModule mod_rewrite.c>
  2.     RewriteEngine On
  3.  
  4.     # Determine the RewriteBase automatically and set it as environment variable.
  5.     # If you are using Apache aliases to do mass virtual hosting or installed the
  6.     # project in a subdirectory, the base path will be prepended to allow proper
  7.     # resolution of the app.php file and to redirect to the correct URI. It will
  8.     # work in environments without path prefix as well, providing a safe, one-size
  9.     # fits all solution. But as you do not need it in this case, you can comment
  10.     # the following 2 lines to eliminate the overhead.
  11.     RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
  12.     RewriteRule ^(.*) - [E=BASE:%1]
  13.  
  14.     # Redirect to URI without front controller to prevent duplicate content
  15.     # (with and without `/app.php`). Only do this redirect on the initial
  16.     # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
  17.     # endless redirect loop (request -> rewrite to front controller ->
  18.     # redirect -> request -> ...).
  19.     # So in case you get a "too many redirects" error or you always get redirected
  20.     # to the start page because your Apache does not expose the REDIRECT_STATUS
  21.     # environment variable, you have 2 choices:
  22.     # - disable this feature by commenting the following 2 lines or
  23.     # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
  24.     #   following RewriteCond (best solution)
  25.     RewriteCond %{ENV:REDIRECT_STATUS} ^$
  26.     RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
  27.  
  28.     # If the requested filename exists, simply serve it.
  29.     # We only want to let Apache serve files and not directories.
  30.     RewriteCond %{REQUEST_FILENAME} -f
  31.     RewriteRule .? - [L]
  32.  
  33.     RewriteRule .? %{ENV:BASE}/app.php [L]
  34. </IfModule>
  #19 (permalink)  
Antiguo 12/05/2015, 12:41
 
Fecha de Ingreso: marzo-2013
Mensajes: 31
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Puesta en Producción proyecto Symfony2

Buenas tardes ya he podido solucionar el problema y tenía razón "cbretana" tuve que borrar la caché de producción
Código PHP:
app/cache/prod 
MANUALMENTE y además de eso el log de producción
Código PHP:
app/logs/prod.log 
Agradezco a todos por su ayuda este es mi primer proyecto de symfony y lo he podido sacar adelante por sus aportes espero esto le sirva a otra persona también!

Saludos!

Última edición por norbbs; 12/05/2015 a las 13:40

Etiquetas: producción, proyecto, symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:07.