समस्या निवारण गाइड


GitHub रिपॉज़िटरी पर किसी नई समस्या की रिपोर्ट करने से पहले, अपनी स्थानीय इंस्टॉलेशन की जाँच अवश्य कर लें, क्योंकि कुछ सेटिंग्स आपके WP-CLIWP-CLI WP-CLI WordPress के लिए कमांड लाइन इंटरफ़ेस है, जिसका उपयोग प्रोग्रामेटिक तरीके से प्रशासनिक और विकास संबंधी कार्य करने के लिए किया जाता है। प्रोजेक्ट पेज है http://wp-cli.org/ https://make.wordpress.org/cli/ कमांड के अप्रत्याशित परिणाम का कारण बन सकती हैं। GitHubGitHub GitHub एक वेबसाइट है जो git रिपॉज़िटरी का ऑनलाइन कार्यान्वयन उपलब्ध कराती है, जिन्हें अन्य डेवलपर आसानी से साझा, कॉपी और संशोधित कर सकते हैं। सार्वजनिक रिपॉज़िटरी होस्ट करना निःशुल्क है, जबकि निजी रिपॉज़िटरी के लिए सशुल्क सदस्यता आवश्यक है। GitHub ने ‘पुल रिक्वेस्ट’ की अवधारणा प्रस्तुत की, जिसमें योगदानकर्ताओं द्वारा शाखाओं में किए गए कोड परिवर्तनों को रिपॉज़िटरी के स्वामी द्वारा मर्ज करने से पहले समीक्षा और चर्चा की जा सकती है। https://github.com/

मैं अपनी WP-CLI इंस्टॉलेशन के बारे में अधिक विस्तृत जानकारी कैसे प्राप्त करूँ?

WP-CLI wp --info कमांड उपलब्ध कराता है, जो आपके WP-CLI इंस्टॉल वातावरण के बारे में बहुत-सी जानकारी प्रदान करता है। आउटपुट आपको बताएगा,
* आप किस ऑपरेटिंग सिस्टम और शेल पर काम कर रहे हैं
* WP-CLI चलाने के लिए किस PHPPHP PHP (PHP: Hypertext Preprocessor का पुनरावर्ती संक्षिप्त नाम) एक व्यापक रूप से प्रयुक्त ओपन सोर्स सामान्य-उद्देश्य स्क्रिप्टिंग भाषा है, जो विशेष रूप से वेब विकास के लिए उपयुक्त है और HTML में एम्बेड की जा सकती है। https://www.php.net/manual/en/index.php बाइनरी का उपयोग किया जा रहा है
* PHP का कौन-सा संस्करण उपयोग किया जा रहा है
* WP-CLI की रूट डायरेक्टरी कहाँ मिलेगी
* WP-CLI की वेंडर डायरेक्टरी कहाँ मिलेगी
* आप वर्तमान में किस WP-CLI बाइनरी के साथ काम कर रहे हैं (phar पथ)
* WP-CLI पैकेज कहाँ संग्रहीत हैं
* WP-CLI की वैश्विक और प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइलें कहाँ मिलेंगी और
* आप WP-CLI का कौन-सा संस्करण उपयोग कर रहे हैं।

समस्याओं को डीबग करना शुरू करने से पहले मुझे क्या करना चाहिए?

समस्याओं को डीबग करना शुरू करने से पहले सुनिश्चित करें कि आप WP-CLI का नवीनतम संस्करण उपयोग कर रहे हैं। नवीनतम संस्करण में आपके सामने आई समस्या पहले ही हल हो सकती है। wp cli update कमांड आपके WP-CLI संस्करण को अपग्रेड करेगा या पुष्टि करेगा कि आप पहले से ही नवीनतम संस्करण उपयोग कर रहे हैं। यदि इंस्टॉलेशन रुक जाती है, तो सुनिश्चित करें कि आपको SSLSSL सिक्योर सॉकेट लेयर – सर्वर से ब्राउज़र और वापस होने वाले संचार का एन्क्रिप्शन। यह जिज्ञासु लोगों को आपके ब्राउज़र और सर्वर के बीच भेजी जा रही जानकारी देखने से रोकता है। (पोर्ट 443) और git (पोर्ट 9418) का उपयोग करके आउटबाउंड कनेक्शन करने की अनुमति है।

यदि WP-CLI का आउटपुट अपेक्षा से अलग हो तो मुझे क्या करना चाहिए?

किसी बग की जाँच शुरू करने से पहले, आपको उन कारकों के बारे में पता होना चाहिए जो WP-CLI के डिफ़ॉल्ट व्यवहार को बदल सकते हैं और यह जाँचने का तरीका जानना चाहिए कि वे समस्या का मूल कारण हो सकते हैं या नहीं। इस डिफ़ॉल्ट व्यवहार को संशोधित करने वाली पाँच मुख्य उप-प्रणालियाँ हैं: पर्यावरण चर, कॉन्फ़िगरेशन फ़ाइलें, WP-CLI पैकेज, wp-config.php फ़ाइल और WordPress एक्सटेंशन (प्लगइन, थीम, मस्ट-यूज़ प्लगइन, ड्रॉप-इन)।

पर्यावरण चर

WP-CLI चलाने के लिए आपके कार्य वातावरण का सेटअप एक पूर्वापेक्षा है। आप शेल कमांड env से अपनी वर्तमान पर्यावरण सेटिंग्स जाँच सकते हैं।

यदि आप SSHSSH सिक्योर शेल – पासवर्ड के अतिरिक्त या उसके स्थान पर किसी दूरस्थ सिस्टम से सुरक्षित रूप से जुड़ने का प्रोटोकॉल। का उपयोग करके WP-CLI को दूरस्थ रूप से चलाना चाहते हैं, तो यह आवश्यक है कि दूरस्थ सर्वर के पथ पर wp कमांड उपलब्ध हो। पर्यावरण चर के माध्यम से रनटाइम पर WP-CLI का व्यवहार भी बदला जा सकता है:

  • WP_CLI_CACHE_DIR – WP-CLI फ़ाइल कैश संग्रहीत करने की डायरेक्टरी। डिफ़ॉल्ट है ~/.wp-cli/cache/
  • WP_CLI_CONFIG_PATH – वैश्विक config.yml फ़ाइल का पथ। डिफ़ॉल्ट है ~/.wp-cli/config.yml
  • WP_CLI_CUSTOM_SHELL – उपयोगकर्ता को प्रयुक्त डिफ़ॉल्ट /bin/bash शेल को ओवरराइड करने की अनुमति देता है।
  • WP_CLI_DISABLE_AUTO_CHECK_UPDATE – WP-CLI के स्वचालित अपडेट जाँचों को अक्षम करें।
  • WP_CLI_DOCKER_NO_TTY – पहचानी गई tty स्थिति को अनदेखा करें और ssh के माध्यम से Docker कंटेनर के विरुद्ध WP-CLI चलाते समय docker exec से --tty फ़्लैग हटा दें।
  • WP_CLI_DOCKER_NO_INTERACTIVE – पहचानी गई tty स्थिति को अनदेखा करें और ssh के माध्यम से Docker कंटेनर के विरुद्ध WP-CLI चलाते समय docker exec से --interactive फ़्लैग हटा दें।
  • WP_CLI_PACKAGES_DIR – WP-CLI के पैकेज प्रबंधन के माध्यम से इंस्टॉल किए गए पैकेज संग्रहीत करने की डायरेक्टरी। डिफ़ॉल्ट है ~/.wp-cli/packages/
  • WP_CLI_PHP – सिस्टम डिफ़ॉल्ट को ओवरराइड करते समय उपयोग किए जाने वाले PHP बाइनरी का पथ (केवल गैर-Phar इंस्टॉलेशन के लिए काम करता है)।
  • WP_CLI_PHP_ARGS – WP-CLI को लागू करते समय PHP बाइनरी को दिए जाने वाले आर्ग्युमेंट (केवल गैर-Phar इंस्टॉलेशन के लिए काम करता है)।
  • WP_CLI_SSH_PRE_CMD--ssh=<ssh> का उपयोग करते समय, WP-CLI द्वारा दूरस्थ सर्वर पर WP-CLI कॉल करने से पहले एक कमांड चलाएँ।
  • WP_CLI_SSH_BINARY--ssh=<ssh> का उपयोग करते समय, यह वह कमांड है जिसे दूरस्थ मशीन पर wp के स्थान पर कॉल किया जाएगा।
  • WP_CLI_STRICT_ARGS_MODE – WP-CLI को यह बताकर अस्पष्टता से बचें कि कमांड से पहले के सभी आर्ग्युमेंट वैश्विक और कमांड के बाद के आर्ग्युमेंट स्थानीय माने जाएँ।
  • WP_CLI_SUPPRESS_GLOBAL_PARAMS – सहायता स्क्रीन के अंत में वैश्विक पैरामीटर दिखाना छोड़ने के लिए इसे true पर सेट करें। इससे उन्नत उपयोगकर्ताओं के लिए स्क्रीन की जगह बचती है।
  • WP_CLI_FORCE_USER_LOGIN1 पर सेट करने से --user फ़्लैग को दिया गया मान ID के बजाय लॉगिन के रूप में समझा जाता है, जिससे अस्पष्ट प्रकारों से बचा जा सकता है।
  • WP_CLI_EARLY_REQUIRE – बूटस्ट्रैप प्रक्रिया के आरंभ में एक या अधिक कस्टम PHP फ़ाइलें (कॉमा से अलग की गई) लोड करें।
  • WP_CLI_REQUIRE – बूटस्ट्रैप प्रक्रिया के बाद एक या अधिक कस्टम PHP फ़ाइलें (कॉमा से अलग की गई) लोड करें। इसका प्रभाव कमांड लाइन पर --require या wp-cli.yml कॉन्फ़िग फ़ाइल में require मैपिंग के समान है।
  • WP_CLI_USER_AGENT$_SERVER['HTTP_USER_AGENT'] मान सेट करता है, जिस पर कुछ प्लगइन और टूल निर्भर करते हैं।

किसी पर्यावरण चर को आवश्यकता के अनुसार सेट करने के लिए, जिस WP-CLI कमांड को चलाना है उसके पहले पर्यावरण चर की परिभाषा रखें (जैसे EDITOR=vim wp post edit 1); पर्यावरण चर ओवरराइट करने के लिए अपनी ~/.bashrc या ~.zhsrc में export VARIABLE=value का उपयोग करें।

WP-CLI कॉन्फ़िगरेशन फ़ाइलें

कॉन्फ़िगरेशन फ़ाइलें आपको अपनी व्यक्तिगत आवश्यकताओं या अपने प्रोजेक्ट की आवश्यकताओं के अनुसार WP-CLI के व्यवहार को अनुकूलित करने देती हैं। यदि कॉन्फ़िगरेशन फ़ाइल गलत है या इसमें डिफ़ॉल्ट व्यवहार में अनचाहे संशोधन शामिल हैं, तो WP-CLI का आउटपुट संभवतः उस त्रुटि को दर्शाएगा।

ध्यान दें कि प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल वैश्विक कॉन्फ़िगरेशन फ़ाइल की सेटिंग्स को ओवरराइड कर सकती है।

अपनी कॉन्फ़िगरेशन फ़ाइल(ों) का नाम बदलें या उन्हें हटाएँ और परिणाम की तुलना करें, ताकि पता चल सके कि किसी कॉन्फ़िगरेशन सेटिंग के कारण समस्या हुई है या नहीं।

WP-CLI पैकेज

WP-CLI पैकेज समुदाय द्वारा अनुरक्षित, WP-CLI पर निर्मित प्रोजेक्ट हैं। इनमें WP-CLI कमांड हो सकते हैं, लेकिन वे किसी अन्य तरीके से WP-CLI का विस्तार भी कर सकते हैं। WP-CLI पूरी तरह सही तरीके से काम कर रहा हो सकता है, फिर भी त्रुटियों वाला पैकेज अप्रत्याशित परिणाम उत्पन्न कर सकता है। सभी इंस्टॉल किए गए पैकेज लोड होने से रोकने के लिए wp --skip-packages का उपयोग करें।

WordPress कॉन्फ़िगरेशन फ़ाइल (wp-config.php)

WP-CLI द्वारा समर्थित सीमा से अधिक wp-config.php को स्थानांतरित या संपादित करने से त्रुटियाँ हो सकती हैं। यदि आपको पार्स त्रुटि मिलती है, तो अपनी wp-config.php की फ़ाइल एन्कोडिंग जाँचें (UTF-8 बिना BOM के)।

सुनिश्चित करें कि require_once(ABSPATH . 'wp-settings.php'); पंक्ति wp-config.php फ़ाइल में बनी रहे और constant परिभाषाओं के अलावा wp-config.php में संशोधन न करें। यदि आप wp-config.php के भीतर WordPress फ़ंक्शन कॉल करते हैं, तो PHP गंभीर त्रुटि के साथ विफल हो जाएगा।

यदि आप अपनी wp-config.php में $_SERVER['HTTP_HOST'] का उपयोग करना चाहते हैं, तो आपको WP-CLI संदर्भ में एक डिफ़ॉल्ट मान सेट करना होगा:

if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
    $_SERVER['HTTP_HOST'] = `example.com';
}

$_SERVER['document_root'] के बजाय dirname( __FILE__ ) या इसी प्रकार का उपयोग करें।

WordPress एक्सटेंशन

WordPress थीम और प्लगइन WP-CLI की लोडिंग प्रक्रिया से टकरा सकते हैं या उसमें हस्तक्षेप कर सकते हैं, जैसे उपयोगकर्ताओं को रीडायरेक्ट करके। वे अक्सर ऐसी धारणाएँ बनाते हैं जो WP-CLI संदर्भ में सही नहीं होतीं, जैसे वर्तमान अनुरोध के होस्टनाम का उपयोग करना (जो कमांड-लाइन संदर्भ में मौजूद ही नहीं होता)।

आप एकल प्लगइन और थीम को बायपास कर सकते हैं (जैसे --skip-plugins=akismet) या उन्हें पूरी तरह छोड़ सकते हैं (wp --skip-plugins --skip-themes)।

यदि WP-CLI त्रुटि की रिपोर्ट करे तो मुझे क्या करना चाहिए?

सामान्य समस्याएँ अक्सर आपकी wp-config.php या वेब सर्वर कॉन्फ़िगरेशन में किए गए परिवर्तनों के परिणामस्वरूप होती हैं। हैंडबुक का “सामान्य समस्याएँ” अनुभाग सबसे सामान्य त्रुटि संदेशों की सूची देता है और इन त्रुटियों को संभालने का तरीका समझाता है।

समस्या को WordPress की नई इंस्टॉलेशन में डिफ़ॉल्ट थीम (Twenty …) और बिना इंस्टॉल किए गए प्लगइन के पुन: उत्पन्न करने का प्रयास करें। यदि समस्या केवल कस्टम वातावरण में पुन: उत्पन्न होती है, तो समस्या आपके वातावरण में मौजूद बग है, WP-CLI में नहीं। साथ ही wp-config.php में define( 'WP_DEBUG', true ); constant सेट करके WordPress का डीबगिंग मोड सक्षम करना सुनिश्चित करें। इससे आपकी मौजूदा WordPress इंस्टॉलेशन की समस्याएँ सामने आ सकती हैं, जो WP-CLI के कारण नहीं हैं।

इसके अतिरिक्त, आप सभी PHP त्रुटियाँ दिखाने और WP-CLI बूटस्ट्रैप में विस्तृतता जोड़ने के लिए WP-CLI के वैश्विक पैरामीटर --debug का उपयोग कर सकते हैं।

मैंने ऊपर दिए गए सभी चरण जाँच लिए हैं, फिर भी समस्या है। मैं समस्याओं की रिपोर्ट कहाँ कर सकता हूँ?

यदि आपको लगता है कि आपको कोई बग मिला है, तो हम उसे ठीक करने के लिए आपकी जानकारी सुनना चाहेंगे।

WP-CLI के लिए बग रिपोर्टिंग GitHub पर संभाली जाती है। नई समस्या बनाने से पहले, कृपया मौजूदा समस्याएँ खोजें, ताकि पता चल सके कि उसका कोई समाधान पहले से मौजूद है या नहीं। यदि आपके बग के लिए कोई खुली या ठीक की गई समस्या नहीं है, तो कृपया बग रिपोर्ट सबमिट करने के लिए हमारे दिशानिर्देशों का पालन करें, ताकि उस पर समयबद्ध तरीके से कार्रवाई की जा सके। नीचे बताए गए सारांश, पुन: उत्पन्न करने के चरण, पर्यावरण संबंधी विवरण और अन्य विशिष्ट जानकारी उपलब्ध कराने से यह सुनिश्चित करने में मदद मिलेगी कि आप पूरी बग रिपोर्ट सबमिट कर रहे हैं।

कृपया हमें ये जानकारी दें:
* समस्या का वर्णनात्मक रूप में सारांश,
* समस्या को पुन: उत्पन्न करने के चरणों की विस्तृत और विशिष्ट सूची,
* उस वातावरण का विवरण जिसमें आप काम कर रहे हैं,
* बग आपके उपयोग को कैसे प्रभावित करता है इसका विवरण (अर्थात अपेक्षित परिणामों की वास्तविक परिणामों से तुलना), जिसमें * गंभीरता स्तर भी शामिल हो,
* संभावित वैकल्पिक उपाय और
* प्रासंगिक नैदानिक जानकारी, जैसे क्रैश रिपोर्ट, स्टैक ट्रेस या डीबग आउटपुट।

आप समस्या रिपोर्ट के इन विवरणों का विस्तृत वर्णन बग रिपोर्ट सबमिट करने के दिशानिर्देशों में पा सकते हैं।