내가 가지고있는 Symfony 버전을 어떻게 알 수 있습니까?


127

Symfony2프로젝트를 다운로드 하고 시작했지만 공급 업체를 여러 번 업데이트했으며 어떤 버전의 심포니가 있는지 알고 싶습니다.

어떤 생각?


명령에 따라 sonata-project / core-bundle은 버전 2.3.9이고 sonata-project / admin-bundle은 버전 2.3.7 composer show입니다.
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부모 생성자를 초기화 하는 데 사용 합니다.


4
또는 심포니 개발 바의 왼쪽 상단을보십시오 (개발 모드에서만 볼 수 있음)!
zizoujab

이것은 구글 "심포니 버전을 감지하는 방법"목록에서 상당히 높지만 서버에 대한 FTP 액세스 만 있습니다. 사용중인 Symfony 버전을 나타내는 파일은 무엇입니까?
HMR 2013 년

@HMR은 귀하의 사례를 다루도록 답변을 개선했습니다. 도움이 되었기를 바랍니다. :)
Diego Agulló 2013 년

1
감사합니다. 찾았습니다/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR

7
나를 위해 그것을이다bin/console --version
블랙

24

또 다른 방법은 정의 된 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: []

그리고 어디에서나 전화를 걸 수 있습니다. Controller에서 JSON 또는 페이지 예제 바닥 글로 래핑합니다.

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

이제 컴포저 업데이트를 실행하여 벤더를 업데이트 할 때마다 심포니 버전도 템플릿에서 자동으로 업데이트됩니다. 과잉이지만 이것이 제 프로젝트에서 수행하는 방식이며 작동하고 있습니다.


5

또한 다음을 실행하여 심포니 버전과 설치된 다른 모든 패키지의 버전을 확인할 수 있습니다.

composer show

또는

composer show | grep sonata

소나타 등과 같은 특정 패키지의 버전을 얻으려면


4

Kernel.php를 사용하여 심포니 버전을 찾을 수 있습니다. 파일을 있지만 문제는 커널 위치가 버전마다 변경된다는 것입니다 (프로젝트 디렉토리에서 파일 검색을 더 잘 수행).

심포니 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

버전 심포니로 시도한다면

시도해주세요

심포니 2 +

cmd> php 앱 / 콘솔 --version

심포니 3+

cmd> php bin / console --version

예를 들면

D : 프로젝트> 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에있는 경우 페이지 왼쪽 하단에서 심포니 버전을 찾을 수 있습니다.


1
당신은 화면의 오른쪽 아래 모서리에있는 심포니 로고를 클릭하여 디버그 도구 모음을 열 필요가 있습니다)
닉 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.