2013-05-30 138 views

回答

139

運行app/console --version(對於Symfony3:bin/console --version),它應該給你一個不錯的主意。在我的一個隨機項目,輸出爲:

Symfony version 2.2.0-DEV - app/dev/debug 

如果您無法訪問控制檯,嘗試閱讀symfony/src/Symfony/Component/HttpKernel/Kernel.php,那裏的版本是hardcoded,例如:

const VERSION   = '2.2.0'; 

以防萬一你想知道,console創建了一個Symfony\Bundle\FrameworkBundle\Console\Application的實例。在這個類的構造函數中,它使用Symfony\Component\HttpKernel\Kernel::VERSION來初始化其父構造函數。

+3

或者只是看看留在symfony的開發欄頂部(僅在開發中MOD可見)! – zizoujab

+0

這是非常高的谷歌「如何檢測symfony版本」名單,但我只有FTP訪問服務器。什麼文件會顯示Symfony正在使用哪個版本? – HMR

+0

@HMR只是改進了答案,因此涵蓋了你的情況。希望你覺得它有用! :) –

1

如果你在app_dev,你可以找到在頁面

+1

您可能需要通過點擊屏幕右下角的Symfony徽標來打開調試工具欄;) –

12

另一種方法是看源Symfony\Component\HttpKernel\Kernel對於其中const VERSION定義的左下角symfony的版本。舉例GitHub

本地這將位於vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php。這樣

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

從你的Symfony項目中,您可以在PHP中獲得的價值這種方式。

在service.yml

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

創建服務

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

註冊你可以把它叫做anywhere.In控制器,在JSON把它包起來,或在頁面頁腳例如

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

現在,每次運行作曲家更新以更新供應商時,symfony版本也會自動啓動在template.I日知道這是矯枉過正但我怎麼做我的項目,它是工作

5

如果你想dynamicallly顯示您的Symfony 2版本的網頁,例如在頁腳,你可以把它:

3

我們可以使用Kernel.php文件中找到symfony的版本,但問題是籽粒的位置將從改變版本到版本(更好的文件搜索在你的項目目錄中)

in 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** 
2

,如果你使用版本的symfony試圖

symfony的2 +

CMD> PHP應用程序嘗試/ console --version

的symfony 3+

CMD> PHP倉/控制檯--version

例如

d:項目> PHP倉/控制檯--version

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

還可以通過運行

composer show 

composer show | grep sonata 

得到像奏鳴曲等

0

爲symfony1.2特定軟件包的版本檢查Symfony和其他所有安裝的軟件包版本的版本3.4

檢查此文件中的常量vendor/symfony/http-kernel/Kernel.php

const VERSION = '3.4.3'; 

OR

composer show | grep symfony/http-kernel 
相關問題