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
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.
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.
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---------------------------------------------------------------Version4.2.3Endof maintenance 07/2019Endof 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.
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
namespaceProject\Bundle\DuBundle\Twig;classSymfonyVersionExtensionextends \Twig_Extension
{publicfunction getFunctions(){return array(//this is the name of the function you will use in twignew \Twig_SimpleFunction('symfony_version', array($this,'b')));}publicfunction getName(){//return 'number_employees';return'symfony_version_extension';}publicfunction b(){
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;return $symfony_version;}}
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.
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).
composer show
Befehl.Antworten:
Führen Sie
app/console --version
(für Symfony3 :) ausbin/console --version
, es sollte Ihnen eine ziemlich gute Idee geben. Bei einem zufälligen Projekt von mir lautet die Ausgabe: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:Nur für den Fall, dass Sie sich fragen,
console
erstellt eine Instanz vonSymfony\Bundle\FrameworkBundle\Console\Application
. In diesem Klassenkonstruktor wirdSymfony\Component\HttpKernel\Kernel::VERSION
der übergeordnete Konstruktor initialisiert.quelle
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
Eine andere Möglichkeit besteht darin, in der Quelle
Symfony\Component\HttpKernel\Kernel
nach demconst VERSION
definierten Ort zu suchen . Beispiel auf GitHubLokal würde sich dies in befinden
vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.quelle
Obwohl es bereits viele gute Antworten gibt, möchte ich eine Option hinzufügen, die nicht erwähnt wurde. Verwenden des Befehls:
Sie können viele Details über das aktuelle Projekt erhalten. Der erste Abschnitt befasst sich mit Symfony selbst und sieht folgendermaßen aus:
Ich finde die anderen Informationen neben der Versionsnummer sehr nützlich.
Es gibt auch andere Abschnitte mit Details zum (Framework-) Kernel, PHP, Umgebung.
quelle
Verwenden Sie den folgenden Befehl in Ihrem Terminal / Ihrer Eingabeaufforderung:
Dadurch erhalten Sie Ihre Symfony-Version.
quelle
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:
Registrieren Sie sich in service.yml
Und Sie können es überall nennen. Schließen Sie es in Controller in JSON oder in die Fußzeile eines Seitenbeispiels ein
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.
quelle
Sie können auch die Version von Symfony und die Versionen aller anderen installierten Pakete überprüfen, indem Sie ausführen
oder
um Versionen bestimmter Pakete wie Sonate usw. zu erhalten.
quelle
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
quelle
Wenn Sie es mit Version Symfony versuchen
Bitte versuchen Sie es mit
Symfonie 2 +
Symfony 3+
beispielsweise
quelle
In Ihrem Symfony-Projekt können Sie den Wert in PHP folgendermaßen abrufen:
quelle
Wenn Sie sich in app_dev befinden, finden Sie die Symfony-Version in der unteren linken Ecke der Seite
quelle
Für Symfony 3.4
Überprüfen Sie die Konstante in dieser Datei vendor / symfony / http-kernel / Kernel.php
ODER
quelle