Come sapere quale versione di Symfony ho?


128

So di aver scaricato un Symfony2progetto e di aver iniziato ma ho aggiornato più volte il mio fornitore e voglio sapere quale versione di symfony ho

Qualche idea ?


sonata-project / core-bundle è alla versione 2.3.9 e sonata-project / admin-bundle è alla versione 2.3.7, secondo il composer showcomando.
Patrick

Risposte:


220

Esegui app/console --version(per Symfony3 :) bin/console --version, dovrebbe darti un'idea abbastanza buona. Su un mio progetto casuale, l'output è:

Symfony version 2.2.0-DEV - app/dev/debug

Se non riesci ad accedere alla console, prova a leggere symfony/src/Symfony/Component/HttpKernel/Kernel.php, dove la versione è hardcoded , ad esempio:

const VERSION         = '2.2.0';

Nel caso ve lo stiate chiedendo, consolecrea un'istanza di Symfony\Bundle\FrameworkBundle\Console\Application. In questo costruttore di classe, utilizza Symfony\Component\HttpKernel\Kernel::VERSIONper inizializzare il suo costruttore padre.


4
o dai un'occhiata in alto a sinistra nella dev bar di symfony (visibile solo in dev mod)!
zizoujab

Questo è abbastanza alto nell'elenco di Google "come rilevare la versione di symfony" ma ho solo accesso FTP al server. Quale file indica quale versione di Symfony è in uso?
HMR

@HMR ha appena migliorato la risposta in modo da coprire il tuo caso. Spero che lo trovi utile! :)
Diego Agulló

1
Grazie mille, l'ho trovato/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR

7
per me èbin/console --version
Black

24

Un altro modo è guardare l'origine Symfony\Component\HttpKernel\Kernelper dove const VERSIONè definito. Esempio su GitHub

A livello locale questo sarebbe situato in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.


20

Sebbene ci siano già molte buone risposte, vorrei aggiungere un'opzione che non è stata menzionata. Utilizzando il comando:

php bin/console about

puoi ottenere molti dettagli sul progetto corrente. La prima sezione riguarda Symfony stesso e si presenta così:

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

Trovo molto utili le altre informazioni oltre al numero di versione.

Ci sono anche altre sezioni che forniscono dettagli sul kernel (framework), PHP, Ambiente.


11

Usa il seguente comando nel tuo terminale / prompt dei comandi:

php bin/console --version

Questo ti darà la tua versione di Symfony.


7

Se vuoi visualizzare in modo dinamico la tua versione di Symfony 2 nelle pagine, ad esempio nel piè di pagina, puoi farlo in questo modo.

Crea un servizio:

<?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;
}
}

Registrati in service.yml

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

E puoi chiamarlo ovunque. In Controller, racchiudilo in JSON o nel piè di pagina di esempio delle pagine

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

Ora ogni volta che esegui composer update per aggiornare il tuo fornitore, anche la versione di symfony si aggiornerà automaticamente nel tuo template. So che è eccessivo ma è così che lo faccio nei miei progetti e funziona.


5

inoltre puoi controllare la versione di symfony e le versioni di tutti gli altri pacchetti installati eseguendo

composer show

o

composer show | grep sonata

per ottenere versioni di pacchetti specifici come sonata ecc.


4

possiamo trovare la versione di symfony usando il file Kernel.php ma il problema è che la posizione di Kernal Will cambia da versione a versione (è meglio fare ricerca di file nella directory del progetto)

in symfony 3.0: mio_progetto \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php

Controlla dal controller / file PHP

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

3

se provi con la versione symfony

per favore prova con

symfony 2 +

cmd> app / console php --version

symfony 3+

cmd> php bin / console --version

per esempio

D: progetto> php bin / console --version

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

2

Dall'interno del tuo progetto Symfony, puoi ottenere il valore in PHP in questo modo:

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

1

se sei in app_dev, puoi trovare la versione di symfony nell'angolo in basso a sinistra della pagina


1
Potrebbe essere necessario aprire la barra degli strumenti di debug facendo clic sul logo Symfony nell'angolo inferiore destro dello schermo;)
Nic Wortel

1

Per Symfony 3.4

Controlla la costante in questo file vendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

O

composer show | grep symfony/http-kernel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.