Woher weiß ich, welche Version von Symfony ich habe?

127

Ich weiß, dass ich ein Symfony2Projekt heruntergeladen und damit begonnen habe, aber ich habe meinen Anbieter mehrmals aktualisiert und möchte wissen, welche Version von Symfony ich habe

Irgendeine Idee ?

Zizoujab
quelle
Sonata-Projekt / Core-Bundle ist in Version 2.3.9 und Sonata-Projekt / Admin-Bundle ist in Version 2.3.7, gemäß dem composer showBefehl.
Patrick

Antworten:

219

Führen Sie app/console --version(für Symfony3 :) aus bin/console --version, es sollte Ihnen eine ziemlich gute Idee geben. Bei einem zufälligen Projekt von mir lautet die Ausgabe:

Symfony version 2.2.0-DEV - app/dev/debug

Wenn Sie nicht auf die Konsole zugreifen können, versuchen Sie zu lesen symfony/src/Symfony/Component/HttpKernel/Kernel.php, wo die Version fest codiert ist , zum Beispiel:

const VERSION         = '2.2.0';

Nur für den Fall, dass Sie sich fragen, consoleerstellt eine Instanz von Symfony\Bundle\FrameworkBundle\Console\Application. In diesem Klassenkonstruktor wird Symfony\Component\HttpKernel\Kernel::VERSIONder übergeordnete Konstruktor initialisiert.

Diego Agulló
quelle
3
oder schau einfach oben links in die symfony dev bar (nur in dev mod sichtbar)!
Zizoujab
Dies ist ziemlich hoch in der Google-Liste "Wie erkennt man eine Symfony-Version?", Aber ich habe nur FTP-Zugriff auf den Server. Welche Datei würde angeben, welche Version von Symfony verwendet wird?
HMR
@HMR hat gerade die Antwort verbessert, damit sie Ihren Fall abdeckt. Ich hoffe, Sie finden es nützlich! :)
Diego Agulló
1
Vielen Dank, fand es/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR
7
für mich ist esbin/console --version
Schwarz
24

Eine andere Möglichkeit besteht darin, in der Quelle Symfony\Component\HttpKernel\Kernelnach dem const VERSIONdefinierten Ort zu suchen . Beispiel auf GitHub

Lokal würde sich dies in befinden vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

Adam Elsodaney
quelle
20

Obwohl es bereits viele gute Antworten gibt, möchte ich eine Option hinzufügen, die nicht erwähnt wurde. Verwenden des Befehls:

php bin/console about

Sie können viele Details über das aktuelle Projekt erhalten. Der erste Abschnitt befasst sich mit Symfony selbst und sieht folgendermaßen aus:

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

Ich finde die anderen Informationen neben der Versionsnummer sehr nützlich.

Es gibt auch andere Abschnitte mit Details zum (Framework-) Kernel, PHP, Umgebung.

Cezar
quelle
11

Verwenden Sie den folgenden Befehl in Ihrem Terminal / Ihrer Eingabeaufforderung:

php bin/console --version

Dadurch erhalten Sie Ihre Symfony-Version.

user2815519
quelle
7

Wenn Sie Ihre Symfony 2-Version dynamisch in Seiten anzeigen möchten, z. B. in der Fußzeile, können Sie dies auf diese Weise tun.

Erstellen Sie einen Service:

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

Registrieren Sie sich in service.yml

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

Und Sie können es überall nennen. Schließen Sie es in Controller in JSON oder in die Fußzeile eines Seitenbeispiels ein

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

Jedes Mal, wenn Sie ein Composer-Update ausführen, um Ihren Hersteller zu aktualisieren, wird die Symfony-Version automatisch in Ihrer Vorlage aktualisiert. Ich weiß, dass dies ein Overkill ist, aber so mache ich es in meinen Projekten und es funktioniert.

Cezar
quelle
5

Sie können auch die Version von Symfony und die Versionen aller anderen installierten Pakete überprüfen, indem Sie ausführen

composer show

oder

composer show | grep sonata

um Versionen bestimmter Pakete wie Sonate usw. zu erhalten.

Pavel Alazankin
quelle
4

Wir können die Symfony-Version mit Kernel.php finden Datei , aber das Problem ist, dass des Kernal Will von Version zu Version ändert (Bessere Projektverzeichnis).

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

Überprüfen Sie von Controller / PHP-Datei

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

Wenn Sie es mit Version Symfony versuchen

Bitte versuchen Sie es mit

Symfonie 2 +

cmd> php app / console --version

Symfony 3+

cmd> php bin / console --version

beispielsweise

D: project> php bin / console --version

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

In Ihrem Symfony-Projekt können Sie den Wert in PHP folgendermaßen abrufen:

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
Redreinard
quelle
1

Wenn Sie sich in app_dev befinden, finden Sie die Symfony-Version in der unteren linken Ecke der Seite

jef
quelle
1
Möglicherweise müssen Sie die Debug-Symbolleiste öffnen, indem Sie auf das Symfony-Logo in der unteren rechten Ecke Ihres Bildschirms klicken;)
Nic Wortel
1

Für Symfony 3.4

Überprüfen Sie die Konstante in dieser Datei vendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

ODER

composer show | grep symfony/http-kernel
Yogesh Yadav
quelle