Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo instalar Symfony en un subdominio de una aplicación Joomla

1 de diciembre de 2015

Hola qué tal?

Les comento rápidamente mi problema. Resulta que desarrollé un modulo de administración en Symfony, para una web existente, la cual se encuentra en: www.dominio.com

El problema o duda que tengo es que no me doy cuenta de como subir los archivos de mi proyecto en Symfony, para que todo siga funcionando bien.

Lo que hice fue crear un subdominio, que apunta a una carpeta dentro del directorio: public_hml/, es decir en sínstesis la estructura que tengo es la siguente:

/ -> raíz.
/dir_Joomla_1
/dir_Joomla_2
...
public_html
public_html/sistema
public_html/sistema/app
public_html/sistema/bin
public_html/sistema/src
public_html/sistema/vendor
public_html/sistema/web
....

Pero por ejemplo cuando quiero inegresar a: www.subdominio.dominio.com/sesion/login el servidor me devuelve un error 404.

¿Hay algo acá que esté entendiendo mal? ¿Alguna idea de como puedo solucionar éste error? gracias!


Respuestas

#1

Lo primero que hay que hacer en estos casos es consultar el archivo de "log" de Apache. Su localización depende de cómo hayas instalado Apache (en mi ordenador por ejemplo están en /var/log/apache2/... pero en tu ordenador puede cambiar.

Tienes que mirar tanto el access_log como el error_log para ver si se incluye algún mensaje explicando un poco más la causa del problema que comentas.

@javiereguiluz

1 diciembre 2015, 19:04
#2

El problema es que estoy trabajando con un VPS, es decir no tengo acceso a esos archivos.

De todos modos, noté que mi problema estaba en que no estaba llegando correctamente a la carpeta web,

es decir si en la URL del navegador pongo: www.subdominio.dominio.com/web/sesion/login

obtengo el siguiente error:

Parse error: syntax error, unexpected '[' in /.../.../public_html/sistema/src/NameProject/ImportacionesBundle/Controller/ImportacionesController.php on line 244

En dicha linea tengo:

line 244    $arrayDatos = [
line 245                   "valor1"=> $datos[0],
line 246                   "valor2"=> $datos[1],
line 247                   "valor3"=> $datos[8],
line 248                  ];

En mi composer.json tengo:

"require": {
        "php": ">=5.3.9",

Ésto quiere decir que usa la versión más reciente y estable de php no?

Porque viendo en el VPS está configurado con la versión: 5.3 de php

@MrXXX0323

1 diciembre 2015, 19:45
#3

Efectivamente, al margen del problema del subdominio, el problema realmente importante es el que muestras en tu segundo mensaje. La aplicación utiliza la notación corta de arrays PHP (es decir, $arrayDatos = [ ... ] en vez de $arrayDatos = array( ... )).

Esta notación corta está disponible desde PHP 5.4, por lo que debes actualizar tu Composer para que requiera al menos PHP 5.4.0.

Por otra parte, comentas si PHP 5.3 es la versión más reciente y estable de PHP. En realidad, la versión 5.3 dejó de soportarse en agosto de 2014. Además, la versión 5.4 también está obsoleta desde septiembre de 2015. En esta página puedes ver las versiones de PHP "caducadas" y en esta otra página puedes ver las versiones que todavía tienen soporte activo.

@javiereguiluz

1 diciembre 2015, 20:10
#4

Muchas gracias javier, lo que en realidad quería preguntar con respecto a esto:

"require": {
        "php": ">=5.3.9",

es:

Al indicar en el archivo composer.json que requiera php > 5.3.9 Al ejecutar el comando: composer install sobre el proyecto, actualiza la versión de php a la más reciente y estable ?

Por otra parte cuando me decis: debes actualizar tu Composer para que requiera al menos PHP 5.4.0. No me doy cuenta de como hacer eso que dices! :S si puedes ser un poco más explicito estaré más que agradecido, sino por otro lado debo esperar que el usuario con más permisos de administrador que yo del VPS actualice la versión de php por una más reciente.

@MrXXX0323

1 diciembre 2015, 20:23
#5

Disculpa que no me haya explicado bien. Lo que tienes que usar en tu composer.json es lo siguiente:

"require": {
    "php": ">=5.4.0",
    ...,
}

@javiereguiluz

1 diciembre 2015, 20:32
#6

va avanzando la cosa, ya actualice las fuentes y ahora me sale éste error:

Fatal error: Class 'PDO' not found in /.../.../public_html/sistema/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php on line 172

Alguna idea ? :/

@MrXXX0323

1 diciembre 2015, 20:54
#7

Si no encuentra la calse PDO, lo más seguro es que la extensión pdo de PHP no esté activada o incluso no esté instalada.

Si puedes ejecutar comandos de consola, ejecuta lo siguiente para ver si la extensión PDO está activada:

$ php --ri pdo

En mi caso si que veo la extensión PDO y todas las relacionadas para cada tipo de base de datos:

$ php --ri pdo
 
PDO
 
PDO support => enabled
PDO drivers => mysql, sqlite, dblib, pgsql

Para activarla (suponiendo que esté instalada), abre el archivo de configuración php.ini, descomenta la línea de la extensión php_pdo.so y reinicia el servidor. Si no sabes cuál es el archivo php.ini utilizado por tu PHP, puedes ejecutar lo siguiente:

$ php --ini

@javiereguiluz

1 diciembre 2015, 22:06
#8

Lamentablemente no pude continuar por éste camino, ya que seguir por el mismo significa tratar con la mesa de ayuda del VPS lo que conlleva a que lleve más tiempo poner en producción/funcionamiento el sitio. por lo que tuve que optar por subir el proyecto en otro VPS ya que mi cliente esta necesitandolo con mucha urgencia.

Pero desde ya, agradezco toda la ayuda!

@MrXXX0323

2 diciembre 2015, 19:20