कैसे पता करें कि सिम्फनी का कौन सा संस्करण मेरे पास है?


127

मुझे पता है कि मैंने एक Symfony2प्रोजेक्ट डाउनलोड किया है और उसके साथ शुरू किया है, लेकिन मैंने अपने विक्रेता को कई बार अपडेट किया है और मैं जानना चाहता हूं कि मेरे पास सिम्फनी का कौन सा संस्करण है

कोई उपाय ?


सोनाटा-प्रोजेक्ट / कोर-बंडल संस्करण 2.3.9 पर है और composer showकमांड के अनुसार सोनाटा-प्रोजेक्ट / एडमिन-बंडल संस्करण 2.3.7 पर है ।
पैट्रिक

जवाबों:


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
या सिम्फनी देव बार में ऊपर बाईं ओर एक नज़र डालें (केवल देव मोड में दिखाई दे रहा है)!
zizoujab

यह Google पर "सिम्फनी संस्करण का पता लगाने का तरीका" सूची में काफी ऊंचा है, लेकिन मेरे पास केवल एफ़टीपी सर्वर तक पहुंच है। कौन सी फ़ाइल इंगित करेगी कि सिम्फनी का कौन सा संस्करण उपयोग में है?
HMR

@HMR ने उत्तर को बेहतर बनाया है इसलिए यह आपके मामले को कवर करता है। उम्मीद है यह आपको उपयोगी होगा! :)
डिएगो Agulló

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                                                         
-------------------- ------------------------------------------- 
 Version              4.2.3                                      
 End of maintenance   07/2019                                    
 End of life          01/2020                                    
-------------------- ------------------------------------------- 

मुझे संस्करण संख्या के अलावा अन्य जानकारी बहुत उपयोगी लगती है।

कर्नेल, पीएचपी, पर्यावरण के बारे में विवरण प्रदान करने वाले अन्य खंड भी हैं।


11

अपने टर्मिनल / कमांड प्रॉम्प्ट में निम्न कमांड का उपयोग करें:

php bin/console --version

यह आपको अपना सिम्फनी वर्जन देगा।


7

यदि आप गतिशील रूप से अपने सिम्फनी 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>

अब हर बार जब आप अपने विक्रेता को अपडेट करने के लिए कंपोज़र अपडेट चलाते हैं, तो सिम्फनी संस्करण भी स्वतः ही आपके टेम्पलेट में अपडेट हो जाएगा। मुझे पता है कि यह ओवरकिल है, लेकिन यह है कि मैं इसे अपनी परियोजनाओं में कैसे करता हूं और यह काम कर रहा है।


5

इसके अलावा आप सिम्फनी के संस्करण और अन्य सभी स्थापित पैकेजों के संस्करणों की जांच कर सकते हैं

composer show

या

composer show | grep sonata

सोनाटा आदि जैसे विशिष्ट पैकेजों के संस्करण प्राप्त करना


4

हम कर्नेल.php फ़ाइल का उपयोग करके सिम्फनी संस्करण पा सकते हैं, लेकिन समस्या यह है कि कर्नेल का स्थान संस्करण से संस्करण में बदल जाएगा (आप प्रोजेक्ट निर्देशिका में बेहतर फ़ाइल खोज करें)

सिम्फनी में 3.0: my_project \ वेंडर \ सिम्फनी \ सिम्फनी \ src \ Symfony \ Component \ HttpK कर्नेल \

नियंत्रक / 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 बिन / कंसोल --version

उदाहरण के लिए

D: प्रोजेक्ट> php बिन / कंसोल --version

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

2

अपने सिम्फनी प्रोजेक्ट के अंदर से, आप PHP में इस तरह से मूल्य प्राप्त कर सकते हैं:

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

1

यदि आप app_dev में हैं, तो आप पृष्ठ के निचले बाएँ कोने में सिम्फनी संस्करण पा सकते हैं


1
आपको अपनी स्क्रीन के निचले दाएं कोने में सिम्फनी लोगो पर क्लिक करके डिबग टूलबार खोलने की आवश्यकता हो सकती है;)
निक वोर्टल

1

सिम्फनी 3.4 के लिए

इस फ़ाइल विक्रेता / सिम्फनी / http- कर्नेल / कर्नेल.php में स्थिरांक की जाँच करें

const VERSION = '3.4.3';

या

composer show | grep symfony/http-kernel
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.