एक मॉड्यूल कैसे स्थापित करें जिसमें सिम्फनी का एक अलग संस्करण शामिल है?


17

मैं CiviCRM परियोजना के लिए एक डेवलपर और अनुरक्षक हूं। हम एक ड्रुपल 8 संस्करण CiviCRM बनाने की कोशिश कर रहे हैं, और एक लंबा रास्ता तय करना है। हम परियोजना के लिए एक प्रमुख अवरोधक का पता लगाने की कोशिश कर रहे हमारे सामूहिक कीबोर्ड के खिलाफ हमारे सिर पीट रहे हैं।

CiviCRM ने कुछ समय के लिए Symfony का उपयोग किया है, और जो संस्करण शामिल किया गया है वह ड्रुपल के जहाजों के मुकाबले अलग है।

हम CiviCRM को Drupal 8 के साथ स्थापित कर सकते हैं, लेकिन इसे स्थापित करने के बाद, हम किसी अन्य Drupal मॉड्यूल को स्थापित नहीं कर सकते।

मेरा मानना ​​है कि यह एक ऐसी स्थिति में उबलता है जहां किसी भी तरह से सिम्फनी का सिवीसीआरएम संस्करण ड्रुपल संस्करण से पहले लोड होता है, और यह समस्याओं का कारण बनता है।

क्या कोई ड्रुपल 8 मॉड्यूल के बारे में जानता है जिसमें ड्रुपल के साथ जहाजों की तुलना में सिम्फनी का एक अलग संस्करण शामिल है?

हाल ही में मैं लुडविग परियोजना में भाग गया। यह मॉड्यूल एक वर्गServiceProviderBase में नामस्थान के पंजीकरण की अनुमति देता है जो विस्तारित होता है

CiviCRMSPPiderider.php फ़ाइल को शामिल करने के लिए CiviCRM मॉड्यूल के Drupal 8 संस्करण के लिए क्या यह संभव होगा, जो एक CivicrmServiceProviderवर्ग को परिभाषित करता है , और एक register()विधि जो इसे काम करने की अनुमति देने के लिए एक कंटेनर नेमस्पेस जोड़ता है?

कई CiviCRM फाइलों में useड्रुपल जैसे सिम्फनी से शुरू होने वाले बयान हैं, जैसे यहां

हम वास्तव में CiviCRM Core को Drupal doc_root / पुस्तकालयों के फ़ोल्डर में रखते हैं, और पुस्तकालयों के मॉड्यूल का उपयोग करते हैं।

यह CiviCRM Drupal मॉड्यूल 8.x संस्करण के लिए रेपो है , अगर कोई देखना चाहता है कि हमें अब तक क्या मिला है। अगर किसी के पास इसके लिए जादुई अमृत है, तो मैं आपको बता सकता हूं कि हमारे समुदाय में कई खुशहाल लोग होंगे। तो अगर आप जानते हैं कि हमें कैसे मदद करनी है, तो कृपया करें।

CiviCRM स्थापित करता है, और CiviCRM पृष्ठ काम करते हैं। क्या काम नहीं करता है कि CiviCRM स्थापित होने के बाद, हम व्यवस्थापक / मॉड्यूल पृष्ठ के माध्यम से अन्य मॉड्यूल स्थापित नहीं कर सकते हैं। जहां तक ​​मुझे पता है कि यही एक चीज है जो टूटी हुई है। CiviCRM को स्थापित करने के बाद, Drush के साथ मॉड्यूल स्थापित करना भी काम करता है।

CiviCRM स्थापित होने के बाद एक और मॉड्यूल को स्थापित करने की कोशिश करना निम्न त्रुटि का कारण बनता है:

PHP घातक त्रुटि: अपरिभाषित विधि पर कॉल करें अपरिभाषित विधि Symfony \ Component \ DependencyInjection \ परिभाषा :: setFactory () in /var/www/html/civi-for-d8/core/lib/Drupal-Core/D dependencyInjection/YamlFileLoader.php लाइन 206 पर।

जो कि ड्रुपल 8.3.5 में है। Drupal 8 के लिए CiviCRM को एक साफ Drupal 8.4-dev उदाहरण में स्थापित करने की कोशिश करने से निम्नलिखित त्रुटि होती है:

Drupal \ Component \ Serialization \ Exception \ InvalidDataTypeException: आरक्षित संकेतक "@" एक सादे स्केलर शुरू नहीं कर सकता; आपको स्केलर को पंक्ति 8 ("तर्कों: [@string_translation, @ civicrm.page_state]") के पास उद्धृत करने की आवश्यकता है। Drupal \ Component \ Serialization \ YamlSymfony में :: decode () (/ 40/var/www/html/drupal84/core/lib/Drupal/Component/Serialization/YamlSymfony.php पर)।


मोबाइल पर, लेकिन सिम्फनी का क्या संस्करण? 8.4 3.x का उपयोग करेगा, v2 से एक कूद।
मैट ग्लैमन

हम CiviCRM
jackrabbithanna

मुद्दे के कुछ दस्तावेज़ीकरण: issues.civicrm.org/jira/browse/CRM-17652 .... एक व्यक्ति ने रिपोर्ट की कि उसे समस्या दिखाई नहीं दे रही है, लेकिन मुझे उस पर यकीन नहीं है, बाकी सभी जो एक त्रुटि प्राप्त करने की कोशिश करते हैं जैसे रिपोर्ट की गई है
जैकबर्तन जूल

4
मुझे नहीं लगता कि यह संभव है। Drupal 8.4 वास्तव में पहले से ही Symfony3 में बदल गया है, हालांकि अभी भी ड्रश से संबंधित समान चर्चाएं हैं, जिसमें एक ही समस्या है। दो अलग-अलग सिम्फनी संस्करणों को लोड करना संभव नहीं है, या तो आप अपने एकीकरण को तोड़ते हैं या आप ड्रुपल को तोड़ते हैं। शायद symfony3 8.4 में अभी तक नहीं होगा, लेकिन Drupal8 सुरक्षा समर्थन से पहले symfony2 के लिए सुरक्षा समर्थन समाप्त हो जाएगा, इसलिए कुछ बिंदु पर, हमें स्विच करना होगा
Berdir

1
@ बर्डिर जो एक अच्छा जवाब दे सकता है?
क्लाइव

जवाबों:


8

इसलिए, मुझे लगता है कि अगर CiviCRM को Drupal 8 में कंपोजर (अर्थात composer require civicrm/civicrm-coreDrupal root में) के माध्यम से स्थापित किया गया था और CiviCRM का सिम्फनी का उपयोग Symfony 2.8 या 3.x (यानी अपवित्र कार्यक्षमता का उपयोग नहीं कर रहा था) के साथ संगत था, तो यह काम कर सकता है।

यह ड्रुपल के विक्रेता निर्देशिका में दो के बजाय सब कुछ स्थापित हो जाएगा, और इसका मतलब यह होगा कि CiviCRM Drupal 8 में Symfony संस्करण का उपयोग करेगा। लेकिन अगर CiviCRM बाद के Symfony संस्करणों के साथ संगत था (भले ही यह Drupal के लिए एक पुराने संस्करण को बंडल करता हो। 6 और 7 और अन्य सीएमएस की) यह ठीक होना चाहिए।

मुझे लगता है?

अद्यतन: हाँ, यह काम करता है - मैंने इसे आजमाया। :-) मैंने मूल रूप से CiviCRM अंक कतार ( CRM-17652 ) में नीचे पोस्ट किया है , लेकिन पूर्णता के लिए यहां फिर से पोस्ट कर रहा हूं

बड़ा विचार:

चूंकि संगीतकार बहुत सारे लोगों के लिए बहुत नया है, इसलिए मैं उच्च स्तर के संगीतकार सामान से लेकर सीवीसीआरएम में किए जा सकने वाले सभी तरीकों से कदम से कदम मिलाकर चलने का प्रयास करने जा रहा हूं:

  • कम्पोज़र अनुप्रयोगों को उन पुस्तकालयों की आवश्यकता की अनुमति देता है (और पुस्तकालय, निश्चित रूप से, अन्य पुस्तकालयों की आवश्यकता हो सकती है)।
  • पुस्तकालयों के पास एक कंपोजर.जॉसन फ़ाइल होती है जो कहती है कि अन्य पुस्तकालयों को इसकी क्या आवश्यकता है और यह किन संस्करणों के साथ संगत है (लेकिन जरूरी नहीं कि यह एक विशिष्ट एकल संस्करण है - आमतौर पर संस्करणों की एक श्रृंखला, जैसे ^2.4.3कि न्यूनतम 2.4.3 और इसके बाद तक (लेकिन नहीं) सहित) 3.0.0)
  • अनुप्रयोगों में एक कंपोज़र है।जसन है जो समान रूप से आवश्यक पुस्तकालयों और संस्करणों की एक श्रृंखला के साथ संगतता का वर्णन करता है, लेकिन रेंज वास्तव में अद्यतन करने में मदद करने के लिए है। एक एप्लिकेशन में एक कंपोज़र भी होगा। यह व्यक्तिगत संस्करणों का एक विशिष्ट सेट है
  • पुस्तकालयों में अपने स्वयं के परीक्षण या वितरण के लिए एक कंपोज़र भी हो सकता है (जैसे कि निर्भरता के साथ रिलीज टारबॉल का निर्माण), लेकिन इस पर ध्यान नहीं दिया जाता है जब किसी एप्लिकेशन को दिए गए पुस्तकालय की आवश्यकता होती है (देखें https://getcomposer.org/doc/02 -लाइब्रेरीज़ # डी # लॉक-फाइल )
  • जब किसी एप्लिकेशन को एक नई लाइब्रेरी की आवश्यकता होती है, तो संगीतकार को उन सभी चीजों के बीच संस्करण अनुकूलता का एक चौराहा मिल जाता है, जिनके लिए एप्लिकेशन की आवश्यकता होती है (जिसमें पहले से इंस्टॉल किए गए सभी लाइब्रेरी और उनकी निर्भरताएं शामिल हैं) और नई लाइब्रेरी, संभवतः सब कुछ अप करने के लिए कुछ अपडेट कर रही हैं ( या अगर यह संस्करणों का एक संगत मिश्रण नहीं मिल सकता है तो बाहर निकलना)
  • इस मामले में, CiviCRM एक पुस्तकालय है, और एक विशेष Drupal 8 साइट अनुप्रयोग है (Drupal core खुद एक पुस्तकालय है)
  • CiviCRM यह कह सकता है कि ^2.5इसके संगीतकार में "सिम्फनी" की आवश्यकता है। इसका मतलब यह संस्करण 2.5.0 अप (लेकिन शामिल नहीं) 3.0.0 के साथ संगत है
  • जब Drupal 8 साइट CiviCRM का उपयोग करना चाहता है, तो साइट व्यवस्थापक composer require civicrm/civicrm-coreCiviCRM लाइब्रेरी की आवश्यकता का उपयोग करता है और यह सब निर्भरता है। यदि CiviCRM Symfony 2.8 (Drupal 8.3.x में प्रयुक्त) के साथ संगत है, तो Drupal से एकल Symfony 2.8 का उपयोग करते हुए सब कुछ ठीक हो जाएगा और काम करेगा। सभी निर्भरताएँ द्रुपाल के विक्रेता निर्देशिका में समाप्त हो जाती हैं।
  • हालाँकि, CiviCRM अपने कंपोज़र .lock में Symfony 2.5 को रख सकता है, जिसका अर्थ है कि परीक्षण इसका उपयोग करेंगे, और Drupal 6 और 7 और अन्य CMS के लिए tarballs Symfony 2.5 को बंडल करेंगे।

प्रस्ताव:

  1. CiviCRM के कंपोज़र को अपडेट करें। इसे संगीतकार के रूप में CMS जैसे Drupal 8 द्वारा उपयोग किया जा सकता है (लेकिन शायद अन्य लोग भविष्य में इस तरह से आगे बढ़ सकें - संगीतकार काफी लोकप्रिय हो रहा है)
  2. सुनिश्चित करें कि CiviCRM कोर Symfony 2.8 और 3.0 के साथ संगत है (क्रमशः Drupal 8.3.x और 8.4.x द्वारा उपयोग किया जाता है), लेकिन परीक्षण के लिए कंपोज़र ।lock में "आधिकारिक तौर पर समर्थित" संस्करण (वर्तमान में Symfony 2.5) को रखें और वितरण के लिए टारबॉल। कई सिम्फनी संस्करणों के साथ संगत होना उतना कठिन नहीं हो सकता है जितना लगता है - सिम्फनी 2.8 और 3.0 दोनों के साथ संगत पुस्तकालयों की संख्या है। यह केवल पदावनत विधियों / कक्षाओं / सुविधाओं से बचने की बात हो सकती है! इसको दर्शाने के लिए कंपोजर.जॉन को अपडेट करना होगा
  3. लाइब्रेरी निर्देशिका में कॉपी करने के बजाय Drupal 8 पर CiviCRM लाइब्रेरी स्थापित करने के लिए संगीतकार का उपयोग करें। यह Drupal 8 में 3rd पार्टी PHP लाइब्रेरीज़ को स्थापित करने का सामान्य तरीका बनता जा रहा है (इसका उपयोग Drupal Commerce द्वारा बड़े पैमाने पर किया जाता है, उदाहरण के लिए)

संगीतकार-आधारित सीएमएस के लिए, मुझे वास्तव में यह सही तरीका लगता है। जबकि यह मुद्दा वर्तमान में सिम्फनी और ड्रुपल को प्रभावित कर रहा है, क्योंकि पीएचपी समुदाय संगीतकार के माध्यम से अधिक से अधिक 3 पार्टी पुस्तकालयों का उपयोग करना शुरू करता है, यह अन्य सीएमएस के अन्य संस्करण संघर्षों के साथ बहुत अच्छी तरह से प्रभावित कर सकता है।

परीक्षण करने के लिए कुछ काम कोड:

तो, जैसा कि वादा किया गया था, मुझे वास्तव में यह एक सीमित डिग्री तक काम करने के लिए मिला है :-) मैं पूरी तरह से इस पर एक Drupal / संगीतकार / सिम्फनी परिप्रेक्ष्य से आ रहा हूं - मेरे पास CiviCRM अनुभव का एक टन नहीं है, इसलिए शायद कुछ है नीचे मेरी प्रक्रिया करने के बेहतर तरीके। मैं किसी भी सलाह का स्वागत करता हूं!

  1. डाउनलोड करें और Drupal 8.3.5 स्थापित करें (या Drupal 8.4.x का नवीनतम देव!)
  2. शेल में रूट डायरेक्टरी में जाएं और कंपोज़र के माध्यम से CiviCRM को स्थापित करने के लिए इन कमांडों को चलाएं: https://gist.github.com/dsnopek/56311dbea347874e75180883efabb620
  3. यदि आप अपाचे का उपयोग करते हैं, तो विक्रेता / .htacess फ़ाइल को हटा दें। यह Drupal का एक सुरक्षा उपाय है, जो CSS / JS जैसे संसाधनों को लोड होने से रोकता है। यह एक उचित समाधान निकालने के लिए Drupal परियोजना के साथ कुछ सहयोग की आवश्यकता होगी क्योंकि इस फ़ाइल को पूरी तरह से हटाना उत्पादन पर एक बुरा विचार है। देखें: विक्रेता / .htaccess संगीतकार पुस्तकालयों से सीएसएस / जेएस संपत्ति अवरुद्ध
  4. / मॉड्यूल निर्देशिका में जाओ और करो git clone https://github.com/dsnopek/civicrm-drupal.git --branch composer-library
  5. "विस्तार" पृष्ठ पर जाएं ( /admin/modules) और CiviCRM मॉड्यूल स्थापित करें
  6. Drush के माध्यम से स्पष्ट ड्रुपल कैश ( drush cr)
  7. लॉग आउट करें और पुनः CRM-19878 में लॉग इन करें
  8. CiviCRM काम करता है! :-)

इस सब के बाद, CiviCRM Drupal से Symfony 2.8 और Drupal के विक्रेता निर्देशिका में निर्भरता का उपयोग कर रहा है, और यह स्वयं विक्रेता निर्देशिका से कुछ भी लोड नहीं कर रहा है। हुज़्ज़ाह!

मैंने "टेलीफोन" मॉड्यूल को सक्षम करने का परीक्षण किया, जो इन परिवर्तनों से पहले विफल हो गया था ( पुन: पेश करने के लिए मेरे कदम देखें ), लेकिन उनके साथ ठीक काम करता है। :-)


तो यहाँ एक प्रश्न है, इस सब से संबंधित, संगीतकार का उपयोग करते हुए .... क्या एक पैकेज का उपयोग सिम्फनी 2.8 करना संभव है, और दूसरा पैकेज सिम्फनी 3.2 का उपयोग करता है ....
जैकबर्तन जूल

CiviCRM के लिए बहुत कठिन संस्थागत प्रतिरोध हमेशा ड्रुपल 8/9 करता है जो सिम्फनी के किस संस्करण का उपयोग करने के लिए आवश्यक है।
जैकबर्तन जूल

1
"संगीतकार का उपयोग करना .... क्या एक पैकेज का उपयोग सिम्फनी 2.8 करना संभव है, और दूसरा पैकेज सिम्फनी 3.2 का उपयोग करता है" -> नहीं, PHP में एक ही नाम के दो वर्ग नहीं हो सकते। यह वास्तव में एक संगीतकार बात नहीं है।
डेविड स्नोपेक

"सिविसीआरएम के लिए बहुत कठिन संस्थागत प्रतिरोध आवश्यक है कि सिम्फनी के किस संस्करण का उपयोग करना है जो ड्रुपल 8/9 करता है" -> अपस्ट्रीम सिविसीआरएम कोर की आवश्यकता होगी कि कोड ड्रुपल में उपयोग किए गए सिम्फनी के साथ संगत है । यह इसे बंडल करने या डिफ़ॉल्ट रूप से उपयोग करने के लिए नहीं होगा, बस संगत होना चाहिए, अर्थात। पदावनत विधियों / कक्षाओं / सुविधाओं से बचें।
डेविड स्नोपेक

मुझे लगता है कि क्यों सिम्फनी के दो प्रमुख संस्करणों को एक साथ चलाने में दिलचस्पी होगी - सेम वीर सॉर्टा का अर्थ है। लेकिन मुझे लगता है कि यह महत्वपूर्ण है कि सिम्फनी घटकों के बड़े स्वैट्स v2 / v3 में समान हैं, और सिवी का v2 का एकीकरण बहुत मामूली है। इसलिए मैं PHP कोड प्राप्त करने या प्राप्त करने के बारे में आशावादी हूं जो दोनों के साथ संगत है। IMHO, असली काम वितरण-चैनल और निर्देशिका संरचना को अपडेट कर रहा है।
टिम ओटेन

5

मुझे नहीं लगता कि यह संभव है।

ड्रुपल 8.4 वास्तव में पहले से ही सिम्फनी 3 में बदल गया है, हालांकि अभी भी ड्रश से संबंधित समान चर्चाएं हैं, जिसमें एक ही समस्या है। देखें Drush 8.x Drupal 8.4.x को इनस्टॉल नहीं करता है और Drush मास्टर Drupal 8.3.x को इंस्टाल नहीं करता है और सिम्फनी के घटकों को 3.2.6 में अपडेट किया जाता है

दो अलग-अलग सिम्फनी संस्करणों को लोड करना संभव नहीं है, या तो आप अपने एकीकरण को तोड़ते हैं या आप ड्रुपल को तोड़ते हैं। शायद symfony3 अभी 8.4 में नहीं होगा, लेकिन Drupal8 सुरक्षा समर्थन से पहले symfony2 के लिए सुरक्षा समर्थन समाप्त हो जाएगा, इसलिए कुछ बिंदु पर, हमें स्विच करना होगा।


अच्छी तरह से ..... सब कुछ व्यवस्थापक / मॉड्यूल से मॉड्यूल को छोड़कर काम करता है .... Drush के साथ मॉड्यूल स्थापित करने से काम होता है ... सभी CiviCRM पृष्ठ काम करते हैं। इसलिए मैं इसके असंभव होने पर आश्वस्त नहीं हूं। यह असंभव क्यों होगा?
जैकबर्तन जूल

1
आप एक ही समय में एक ही वर्ग के दो अलग-अलग संस्करणों को लोड नहीं कर सकते, यह संभव नहीं है। त्रुटि बिल्कुल वैसी ही लगती है जैसा मैं होने की उम्मीद करता हूं। आपने पहले परिभाषा वर्ग के 2.5 संस्करण को लोड करने में कामयाबी हासिल की और फिर ड्रुपल टूट गया क्योंकि यह एक ऐसी विधि की अपेक्षा करता है जो वास्तव में मौजूद नहीं है। और सिर्फ़ 3. सिम्फनी में ड्रुपल स्विच के रूप में अंतर बहुत बड़ा हो जाएगा। मुझे समझ में नहीं आता है कि आप 2.5 के साथ क्यों फंस गए हैं, 2.8 एक मामूली अपडेट है और इसे पीछे की ओर संगत होना चाहिए (लेकिन दूसरा तरीका नहीं जैसा कि आपको पता चला)। तो आपको 2.8 की आवश्यकता के लिए CiviCRM को अपडेट करने में सक्षम होना चाहिए?
बरदिर

1
जैसा कि मैंने अपनी टिप्पणी में उल्लेख किया है, मैंने मान लिया था कि आप मुझे जवाब नहीं देना चाहेंगे, लेकिन यह इसे नहीं बदलता है। जिन परियोजनाओं का आप उल्लेख करते हैं उनमें से कोई भी सिम्फनी का उपयोग नहीं करता है (जूमल कुछ ऐसे घटकों का उपयोग करता है जो संघर्ष नहीं कर सकते हैं लेकिन संभवतः अंततः), इसलिए आप इसकी तुलना नहीं कर सकते हैं। क्या एक ही वर्ग के दो परस्पर विरोधी संस्करणों को लोड करना तकनीकी रूप से असंभव है, कुछ भी नहीं बदल सकता है। इसलिए निर्भरता एक जटिल व्यवसाय है और क्यों संगीतकार मौजूद है। पुस्तकालयों का उपयोग करने के बजाय, आपको संभवतः संगीतकार का उपयोग करना चाहिए और CiviCRM को कई
सिम्फनी

2
इसके अलावा, सिम्फनी 2.5 के लिए सुरक्षा समर्थन 2015 में symfony.com/roadmap?version=2.5#checker के अनुसार समाप्त हुआ , जिसका अर्थ है कि CiviCRM एक असुरक्षित और पुराने सिम्फनी संस्करण पर बनाया गया है। अकेले ही उन्हें यह समझाने के लिए पर्याप्त होना चाहिए कि एक अपडेट आवश्यक है, कम से कम संस्करण 2.8 में, यह ड्रुपाल 8 के बारे में नहीं है।
बेदिर

1
@DavidSnopek सही है, आपने अपने उत्तर में जो लिखा है वह मूल रूप से मैंने अपनी टिप्पणियों में भी उल्लेख किया है, लेकिन जब तक CiviCRM के कंपोज़र.जेसन अपने सिम्फनी घटकों के लिए "~ 2.5.0" निर्दिष्ट करते हैं, जो काम नहीं करने वाला है। Github.com/civicrm/civicrm-core/blob/master/composer.json देखें । तो मेरा जवाब "आप दो अलग-अलग संस्करणों का उपयोग नहीं कर सकते हैं" अभी भी आईएमएचओ सही है, आप केवल सिविक्रैम में संस्करण विरोधाभासों को सुधार / अपडेट कर सकते हैं और फिर इसे संगीतकार के माध्यम से स्थापित कर सकते हैं और उसी संस्करण का उपयोग कर सकते हैं।
बर्दिर

1

सैद्धांतिक रूप से यहाँ केवल समस्याएँ फ़ाइल स्थान और वर्ग नाम स्थान हैं। दुर्भाग्यवश संगीतकार के लिए एकमात्र ऐसा उपकरण है जिसे करने के लिए आपको केवल पैकेज नाम के अनुसार प्रति संस्करण निर्दिष्ट करने की अनुमति नहीं है।

क्या आपने इसे पूरी तरह से अलग ऑटोलैडर के रूप में स्थापित करने की कोशिश की है?


क्या आप और अधिक विस्तार से बता सकते हैं कि आपका क्या मतलब है?
जैकबर्तन जूल

getcomposer.org/doc/faqs/… कस्टम लोकेशन को कैसे करना है। मैंने लोगों को सिर्फ यह संभव बनाने के लिए एक प्रोजेक्ट कांटा देखा है ... संगीतकार के ऑटोलोडर को अलग रखने के विकल्प के लिए getcomposer.org/doc/06-config.md#prepend-autoloader भी लें । अंत में ऑटोलैडर केवल एक php फाइल है, इसलिए आप अपना स्वयं का ऑटोलैडर लिख सकते हैं जो यह तय करता है कि आपको कौन से कारकों के आधार पर शामिल करना है।
ओहथुग्मेनेटे

प्रासंगिक भी: stackoverflow.com/questions/30000063/…
Ohthehugemanatee

स्पष्ट हो, ATM में D8 के साथ Civi स्थापित करने के लिए कोई कंपोज़र आधारित इंस्टॉलेशन विधि नहीं है। हालांकि मेरे पास शायद ऐसा करने का एक तरीका था। यह था कि सेवाप्रोवाइडर ऑब्जेक्ट का उल्लेख प्रश्न के बारे में था, जैसे कि PSR-4 नाम स्थान को Drupal में CiviCRM लाइब्रेरी में इंगित करने के लिए ... अगर मैंने ऐसा किया, तो क्या सिवी को अपनी सभी फाइलों को 'Symfony \' का उपयोग करने की आवश्यकता होगी .... 'से' Civicrm \ Symfony \ 'का उपयोग करने के लिए?' संगीतकार pls की मेरी अज्ञानता को क्षमा करें।
जैकबर्त्थना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.