私が持っているSymfonyのバージョンを知る方法は?


127

私はSymfony2プロジェクトをダウンロードして始めたことを知っていますが、ベンダーを数回更新しましたが、私が持っているsymfonyのバージョンを知りたいです

何か案が ?


composer showコマンドによると、sonata-project / core-bundleはバージョン2.3.9で、sonata-project / admin-bundleはバージョン2.3.7 です。
Patrick

回答:


219

ファイル名を指定して実行app/console --version(Symfony3用:bin/console --version)、それはあなたにかなり良いアイデアを与える必要があります。私のランダムプロジェクトでは、出力は次のようになります。

Symfony version 2.2.0-DEV - app/dev/debug

コンソールにアクセスできない場合symfony/src/Symfony/Component/HttpKernel/Kernel.phpは、たとえば、バージョンがハードコードされているをお試しください。

const VERSION         = '2.2.0';

ご参考までにconsole、のインスタンスを作成しますSymfony\Bundle\FrameworkBundle\Console\Application。このクラスコンストラクターではSymfony\Component\HttpKernel\Kernel::VERSION、親コンストラクターを初期化するために使用します。


3
または、symfony devバーの左上を見てください(dev modでのみ表示されます)。
zizoujab 2013

これはグーグルの「symfonyのバージョンを検出する方法」リストではかなり高いですが、サーバーへのFTPアクセスしか持っていません。どのファイルが使用中のSymfonyのバージョンを示していますか?
HMR 2013

@HMRは回答を改善しただけなので、ケースをカバーします。お役に立てば幸いです。:)
ディエゴアグロ2013

1
どうもありがとうございました/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR 2013

7
私にとってはbin/console --version
ブラック

24

もう1つの方法は、ソースSymfony\Component\HttpKernel\Kernelがどこconst VERSIONで定義されているかを調べることです。GitHubの

ローカルでは、これはにありvendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.phpます。


20

良い答えはたくさんありますが、言及されていないオプションを追加したいと思います。コマンドを使用:

php bin/console about

現在のプロジェクトに関する多くの詳細を取得できます。最初のセクションはSymfony自体に関するもので、次のようになります。

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

バージョン番号以外の情報も非常に役立ちます。

(フレームワーク)カーネル、PHP、環境に関する詳細を提供する他のセクションもあります。


11

ターミナル/コマンドプロンプトで次のコマンドを使用します。

php bin/console --version

これはあなたのSymfonyバージョンを提供します。


7

Symfony 2のバージョンをフッターなどのページに動的に表示したい場合は、この方法で行うことができます。

サービスを作成します。

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

service.ymlに登録する

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

そして、どこにでもそれを呼び出すことができます。コントローラーで、JSONまたはページのサンプルフッターにラップします。

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

これで、composer updateを実行してベンダーを更新するたびに、symfonyのバージョンもテンプレートで自動的に更新されます。これはやり過ぎであることがわかっていますが、これは私のプロジェクトで行う方法であり、機能しています。


5

また、symfonyのバージョンとインストールされている他のすべてのパッケージのバージョンを確認することができます

composer show

または

composer show | grep sonata

ソナタなどの特定のパッケージのバージョンを取得する


4

Kernel.phpファイルを使用してsymfonyのバージョンを見つけることができますが、問題はカーネルの意志の場所がバージョンごとに変化することです(プロジェクトディレクトリでファイル検索を実行することをお勧めします)

symfony 3.0の場合:my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php

コントローラ/ PHPファイルから確認

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

3

symfonyのバージョンで試してみると

やってみてください

symfony 2 +

cmd> php app / console --version

symfony 3+

cmd> php bin / console --version

例えば

D:project> php bin / console --version

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

2

Symfonyプロジェクト内から、次の方法でPHPの値を取得できます。

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

1

app_devを使用している場合は、ページの左下隅にsymfonyのバージョンがあります。


1
画面の右下隅にあるSymfonyロゴをクリックしてデバッグツールバーを開く必要があるかもしれません;)
Nic Wortel

1

symfony 3.4の場合

このファイルの定数を確認してくださいvendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

または

composer show | grep symfony/http-kernel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.