¿Cómo saber qué versión de Symfony tengo?


127

Sé que descargué un Symfony2proyecto y comencé, pero actualicé a mi proveedor varias veces y quiero saber qué versión de Symfony tengo.

Alguna idea ?


sonata-project / core-bundle está en la versión 2.3.9 y sonata-project / admin-bundle está en la versión 2.3.7, de acuerdo con el composer showcomando.
Patrick

Respuestas:


219

Ejecuta app/console --version(para Symfony3:) bin/console --version, debería darte una idea bastante buena. En un proyecto mío al azar, el resultado es:

Symfony version 2.2.0-DEV - app/dev/debug

Si no puede acceder a la consola, intente leer symfony/src/Symfony/Component/HttpKernel/Kernel.php, donde la versión está codificada , por ejemplo:

const VERSION         = '2.2.0';

En caso de que te lo estés preguntando, consolecrea una instancia de Symfony\Bundle\FrameworkBundle\Console\Application. En este constructor de clases, se usa Symfony\Component\HttpKernel\Kernel::VERSIONpara inicializar su constructor padre.


3
o simplemente mira arriba a la izquierda en la barra de desarrollo de Symfony (visible solo en el mod de desarrollo).
zizoujab

Esto es bastante importante en la lista de Google "cómo detectar la versión de Symfony", pero solo tengo acceso FTP al servidor. ¿Qué archivo indicaría qué versión de Symfony está en uso?
HMR

@HMR acaba de mejorar la respuesta para que cubra su caso. ¡Esperamos que te sea útil! :)
Diego Agulló

1
Muchas gracias, lo encontré/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR

77
para mí esbin/console --version
Black

24

Otra forma es mirar la fuente para Symfony\Component\HttpKernel\Kernelsaber dónde const VERSIONse define. Ejemplo en GitHub

Localmente esto estaría ubicado en vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.


20

Aunque ya hay muchas buenas respuestas, me gustaría agregar una opción que no se ha mencionado. Usando el comando:

php bin/console about

Puede obtener muchos detalles sobre el proyecto actual. La primera sección trata sobre Symfony y se ve así:

-------------------- ------------------------------------------- 
 Symfony                                                         
-------------------- ------------------------------------------- 
 Version              4.2.3                                      
 End of maintenance   07/2019                                    
 End of life          01/2020                                    
-------------------- ------------------------------------------- 

Encuentro la otra información además del número de versión muy útil.

También hay otras secciones que proporcionan detalles sobre el Kernel (marco), PHP, Entorno.


11

Use el siguiente comando en su Terminal / Símbolo del sistema:

php bin/console --version

Esto te dará tu versión de Symfony.


7

Si desea mostrar dinámicamente su versión de Symfony 2 en páginas, por ejemplo en el pie de página, puede hacerlo de esta manera.

Crea un servicio:

<?php

namespace Project\Bundle\DuBundle\Twig;

class SymfonyVersionExtension extends \Twig_Extension
{


 public function getFunctions()
 {
 return array(
 //this is the name of the function you will use in twig
 new \Twig_SimpleFunction('symfony_version', array($this, 'b'))
   );
 }

public function getName()
{
//return 'number_employees';
 return 'symfony_version_extension';
}   

public function b()
{
 $symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
 return $symfony_version;
}
}

Registrarse en service.yml

 dut.twig.symfony_version_extension:
    class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
    tags:
        - { name: twig.extension }
    #arguments: []

Y puedes llamarlo a cualquier parte. En Controller, ajústelo en JSON o en el pie de página de ejemplo

 <p> Built With Symfony {{ symfony_version() }} Version MIT License</p>

Ahora, cada vez que ejecute la actualización del compositor para actualizar su proveedor, la versión de Symfony también se actualizará automáticamente en su plantilla. Sé que esto es excesivo, pero así es como lo hago en mis proyectos y está funcionando.


5

También puede verificar la versión de Symfony y las versiones de todos los demás paquetes instalados ejecutando

composer show

o

composer show | grep sonata

para obtener versiones de paquetes específicos como sonata, etc.


4

podemos encontrar la versión de Symfony usando el archivo Kernel.php , pero el problema es que la ubicación de Kernal Will cambia de una versión a otra (Better Do File Search en su directorio de proyectos)

en Symfony 3.0: my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php

Verificación desde el controlador / archivo PHP

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**

3

si intentas con la versión de Symfony

por favor intente con

Symfony 2 +

cmd> aplicación / consola php - versión

Symfony 3+

cmd> bin bin / consola --version

por ejemplo

D: proyecto> php bin / console --version

Symfony 3.2.8 (kernel: app, env: dev, debug: true)

2

Desde el interior de su proyecto Symfony, puede obtener el valor en PHP de esta manera:

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;

1

si está en app_dev, puede encontrar la versión de Symfony en la esquina inferior izquierda de la página


1
Es posible que deba abrir la barra de herramientas de depuración haciendo clic en el logotipo de Symfony en la esquina inferior derecha de su pantalla;)
Nic Wortel

1

Para Symfony 3.4

Verifique la constante en este archivo vendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

O

composer show | grep symfony/http-kernel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.