PHP - स्ट्रीम खोलने में विफल: ऐसी कोई फ़ाइल या निर्देशिका नहीं


166

PHP स्क्रिप्ट में, बुला चाहे include(), require(), fopen(), या उनके जैसे डेरिवेटिव include_once, require_onceया यहां तक कि, move_uploaded_file(), एक अक्सर कोई त्रुटि या चेतावनी में चलाता है:

स्ट्रीम खोलने में विफल: ऐसी कोई फ़ाइल या निर्देशिका नहीं।

समस्या की जड़ को जल्दी से खोजने के लिए एक अच्छी प्रक्रिया क्या है?


5
मैंने इस पोस्ट पर ऑफ-टॉपिक टिप्पणियों को साफ किया है। कृपया मेटा चर्चा को मेटा में रखें। हालांकि, कृपया ध्यान दें कि विहित प्रश्नों की व्यवहार्यता की चर्चा बार-बार की गई है। उदाहरण यहाँ देखें ।
का घोस्ट

1
मुझे एक ही समस्या है, एकमात्र समाधान जो हमेशा काम करता है: -1 शामिल करने के लिए फ़ाइल पर जाएं, सही बैटन, गुण, उदाहरण के लिए पूर्ण पथ की प्रतिलिपि बनाएँ: C: /......../ file.php 2- इसे शामिल करें। वास्तव में मैंने देखा कि इस प्रश्न का उत्तर दिया गया है, और उत्तर को मान्य किया गया है, लेकिन मेरे लिए कुछ मामलों में काम नहीं किया, जब तक कि मैं ऊपर वर्णित तरीका नहीं ढूंढता।
रु

@ योगदान देने के लिए धन्यवाद। दुर्भाग्य से आपका समाधान गलत है, क्योंकि यह निरपेक्ष पथ नाम का उल्लेख करेगा, और यह गलत है। यह गलत है, इसका कारण यह है कि तब जब आप अपनी परियोजना को कहीं और कॉपी करते हैं, या इसे अपने कंप्यूटर के अंदर स्थानांतरित करते हैं, तो सब कुछ टूट जाएगा।
विक सेडवेय्यू

जवाबों:


259

ऐसे कई कारण हैं कि कोई इस त्रुटि में भाग सकता है और इस प्रकार पहले चेक करने के लिए एक अच्छा चेकलिस्ट काफी मदद करता है।

आइए विचार करें कि हम निम्नलिखित पंक्ति का निवारण कर रहे हैं:

require "/path/to/file"


चेकलिस्ट


1. टाइपोस के लिए फ़ाइल पथ की जाँच करें

  • या तो मैन्युअल रूप से जांचें (नेत्रहीन रूप से पथ की जांच करके)
  • या चाल जो कुछ भी से पुकारा जाता है require*या include*अपने स्वयं के चर करने के लिए, यह गूंज, इसे कॉपी, और एक टर्मिनल से यह तक पहुँचने का प्रयास:

    $path = "/path/to/file";
    
    echo "Path : $path";
    
    require "$path";

    फिर, एक टर्मिनल में:

    cat <file path pasted>


2. जाँच करें कि फ़ाइल पथ सापेक्ष बनाम निरपेक्ष पथ विचारों के संबंध में सही है

  • यदि यह आगे स्लैश "/" से शुरू हो रहा है, तो यह आपकी वेबसाइट के फ़ोल्डर (दस्तावेज़ रूट) की जड़ का उल्लेख नहीं कर रहा है, लेकिन आपके सर्वर की जड़ तक।
    • उदाहरण के लिए, आपकी वेबसाइट की निर्देशिका हो सकती है /users/tony/htdocs
  • यदि यह आगे स्लैश से शुरू नहीं हो रहा है तो यह या तो शामिल पथ पर निर्भर है (नीचे देखें) या पथ सापेक्ष है। यदि यह सापेक्ष है, तो PHP अपेक्षाकृत वर्तमान कार्यशील निर्देशिका के पथ की गणना करेगा ।
    • इस प्रकार, आपकी वेब साइट के रूट के पथ के सापेक्ष नहीं, या उस फ़ाइल के लिए जहाँ आप टाइप कर रहे हैं
    • इस कारण से, हमेशा निरपेक्ष फ़ाइल पथ का उपयोग करें

सर्वोत्तम प्रथाएं :

अपनी स्क्रिप्ट को मजबूत बनाने के लिए, जब आप चीजों को इधर-उधर करते हैं, तब भी रनटाइम के दौरान एक निरपेक्ष मार्ग उत्पन्न होता है, आपके पास 2 विकल्प हैं:

  1. उपयोग करें require __DIR__ . "/relative/path/from/current/file"__DIR__जादू निरंतर वर्तमान फ़ाइल की निर्देशिका देता है।
  2. SITE_ROOTअपने आप को एक निरंतर परिभाषित करें:

    • अपनी वेब साइट की निर्देशिका के मूल में, एक फ़ाइल बनाएँ, जैसे config.php
    • में config.php, लिखो

      define('SITE_ROOT', __DIR__);
    • प्रत्येक फ़ाइल में जहाँ आप साइट रूट फ़ोल्डर को संदर्भित करना चाहते हैं, शामिल हैं config.php, और फिर SITE_ROOTजहाँ भी आप चाहते हैं, निरंतर का उपयोग करें :

      require_once __DIR__."/../config.php";
      ...
      require_once SITE_ROOT."/other/file.php";

ये 2 प्रथाएं आपके एप्लिकेशन को अधिक पोर्टेबल बनाती हैं क्योंकि यह शामिल पथ की तरह ini सेटिंग्स पर निर्भर नहीं करती है।


3. अपने शामिल पथ की जाँच करें

फ़ाइलों को शामिल करने का एक और तरीका, न तो अपेक्षाकृत और न ही पूरी तरह से पूरी तरह से, शामिल पथ पर भरोसा करना है । यह अक्सर लाइब्रेरी या फ्रेमवर्क जैसे कि Zend फ्रेमवर्क के लिए होता है।

ऐसा समावेश इस तरह दिखेगा:

include "Zend/Mail/Protocol/Imap.php"

उस स्थिति में, आप यह सुनिश्चित करना चाहेंगे कि फ़ोल्डर जहां "Zend" है, शामिल पथ का हिस्सा है।

आप के साथ शामिल पथ की जाँच कर सकते हैं:

echo get_include_path();

आप इसके साथ एक फ़ोल्डर जोड़ सकते हैं:

set_include_path(get_include_path().":"."/path/to/new/folder");


4. जांचें कि आपके सर्वर की उस फ़ाइल तक पहुंच है

यह हो सकता है कि सभी एक साथ, सर्वर प्रक्रिया (Apache या PHP) चलाने वाले उपयोगकर्ता को बस उस फ़ाइल से पढ़ने या लिखने की अनुमति नहीं है।

सर्वर किस उपयोगकर्ता के चल रहा है, इसकी जांच के लिए आप posix_getpwuid का उपयोग कर सकते हैं :

$user = posix_getpwuid(posix_geteuid());

var_dump($user);

फ़ाइल पर अनुमतियों का पता लगाने के लिए, टर्मिनल में निम्न कमांड टाइप करें:

ls -l <path/to/file>

और अनुमति प्रतीकात्मक संकेतन को देखें


5. PHP सेटिंग्स की जाँच करें

यदि उपरोक्त में से कोई भी काम नहीं किया है, तो मुद्दा शायद यह है कि कुछ PHP सेटिंग्स ने उस फ़ाइल का उपयोग करने से मना किया है।

तीन सेटिंग्स प्रासंगिक हो सकती हैं:

  1. open_basedir
    • यदि यह सेट किया गया है तो PHP निर्दिष्ट निर्देशिका के बाहर किसी भी फ़ाइल तक पहुँचने में सक्षम नहीं होगी (प्रतीकात्मक लिंक के माध्यम से भी नहीं)।
    • हालाँकि, डिफ़ॉल्ट व्यवहार इसके लिए निर्धारित नहीं है कि किस स्थिति में कोई प्रतिबंध नहीं है
    • यह या तो बुला द्वारा जाँच की जा सकती है phpinfo()या का उपयोग करकेini_get("open_basedir")
    • आप अपनी php.ini फ़ाइल या अपनी httpd.conf फ़ाइल को संपादित करके सेटिंग बदल सकते हैं
  2. सुरक्षित मोड
    • यदि यह प्रतिबंधों पर चालू है तो लागू हो सकता है। हालाँकि, इसे PHP 5.4 में हटा दिया गया है। यदि आप अभी भी एक ऐसे संस्करण पर हैं जो PHP संस्करण के लिए सुरक्षित मोड अपग्रेड का समर्थन करता है जो अभी भी समर्थित है
  3. allow_url_fopen और allow_url_include
    • यह केवल एक नेटवर्क प्रक्रिया जैसे http: // के माध्यम से फ़ाइलों को शामिल करने या खोलने के लिए लागू होता है, जब स्थानीय फ़ाइल सिस्टम पर फ़ाइलों को शामिल करने का प्रयास नहीं किया जाता है
    • इस के साथ की जाँच की ini_get("allow_url_include")और सेट किया जा सकता हैini_set("allow_url_include", "1")


कोने के मामले

यदि उपरोक्त में से कोई भी समस्या का निदान करने में सक्षम नहीं है, तो यहां कुछ विशेष परिस्थितियां हैं जो हो सकती हैं:


1. शामिल पथ पर निर्भर पुस्तकालय का समावेश

ऐसा हो सकता है कि आप एक पुस्तकालय में शामिल हों, उदाहरण के लिए, एक रिश्तेदार या निरपेक्ष पथ का उपयोग करते हुए Zend फ्रेमवर्क। उदाहरण के लिए :

require "/usr/share/php/libzend-framework-php/Zend/Mail/Protocol/Imap.php"

लेकिन फिर भी आपको उसी तरह की त्रुटि मिलती है।

ऐसा इसलिए हो सकता है क्योंकि आपके पास (सफलतापूर्वक) शामिल की गई फ़ाइल में स्वयं किसी अन्य फ़ाइल के लिए एक सम्मिलित कथन होता है, और उस दूसरे विवरण में यह कथन शामिल होता है कि आपने उस लाइब्रेरी के पथ को शामिल पथ में जोड़ दिया है।

उदाहरण के लिए, पहले बताई गई Zend फ्रेमवर्क फ़ाइल में निम्नलिखित शामिल हो सकते हैं:

include "Zend/Mail/Protocol/Exception.php" 

जो न तो सापेक्ष पथ द्वारा सम्मिलित है, न ही पूर्ण मार्ग से। यह मान रहा है कि Zend फ्रेमवर्क निर्देशिका को शामिल पथ में जोड़ा गया है।

ऐसे मामले में, निर्देशिका को अपने शामिल पथ में जोड़ने का एकमात्र व्यावहारिक समाधान है।


2. SELinux

यदि आप सुरक्षा-संवर्धित लिनक्स चला रहे हैं, तो यह सर्वर से फ़ाइल तक पहुंच से इनकार करके समस्या का कारण हो सकता है।

यह जांचने के लिए कि क्या आपके सिस्टम पर SELinux सक्षम है, sestatusकमांड को टर्मिनल में चलाएं । यदि कमांड मौजूद नहीं है, तो SELinux आपके सिस्टम पर नहीं है। यदि यह मौजूद है, तो आपको यह बताना चाहिए कि यह लागू है या नहीं।

यह जांचने के लिए कि क्या SELinux नीतियां समस्या का कारण हैं , आप इसे अस्थायी रूप से बंद करने का प्रयास कर सकते हैं। हालाँकि CAREFUL हो, क्योंकि यह पूरी तरह से सुरक्षा को निष्क्रिय कर देगा। अपने प्रोडक्शन सर्वर पर ऐसा न करें।

setenforce 0

यदि आपको अब SELinux बंद होने की समस्या नहीं है, तो इसका मूल कारण है।

इसे हल करने के लिए , आपको तदनुसार SELinux को कॉन्फ़िगर करना होगा।

निम्नलिखित संदर्भ प्रकार आवश्यक होंगे:

  • httpd_sys_content_t उन फ़ाइलों के लिए जिन्हें आप चाहते हैं कि आपका सर्वर पढ़ने में सक्षम हो
  • httpd_sys_rw_content_t उन फ़ाइलों के लिए, जिन पर आप एक्सेस पढ़ना और लिखना चाहते हैं
  • httpd_log_t लॉग फ़ाइलों के लिए
  • httpd_cache_t कैश डायरेक्टरी के लिए

उदाहरण के लिए, httpd_sys_content_tअपनी वेबसाइट के रूट डायरेक्टरी के संदर्भ प्रकार को चलाने के लिए:

semanage fcontext -a -t httpd_sys_content_t "/path/to/root(/.*)?"
restorecon -Rv /path/to/root

यदि आपकी फ़ाइल किसी होम डायरेक्टरी में है, तो आपको httpd_enable_homedirsबूलियन चालू करना होगा :

setsebool -P httpd_enable_homedirs 1

किसी भी मामले में, कई कारण हो सकते हैं कि SELinux आपकी नीतियों के आधार पर किसी फ़ाइल तक पहुंच से इनकार क्यों करेगा। तो आपको उससे पूछताछ करनी होगी। यहाँ एक वेब सर्वर के लिए विशेष रूप से SELinux को कॉन्फ़िगर करने पर एक ट्यूटोरियल है।


3. सिम्फनी

यदि आप सिम्फनी का उपयोग कर रहे हैं, और सर्वर पर अपलोड करते समय इस त्रुटि का अनुभव कर रहे हैं, तो यह हो सकता है कि ऐप का कैश रीसेट नहीं किया गया है, या तो app/cacheअपलोड किया गया है, या उस कैश को साफ़ नहीं किया गया है।

आप निम्न कंसोल कमांड चलाकर इसे ठीक कर सकते हैं:

cache:clear


4. गैर ACSII अक्षर ज़िप फ़ाइल के अंदर

जाहिरा तौर पर, यह त्रुटि तब भी हो सकती है zip->close()जब कॉल करने पर ज़िप के अंदर की कुछ फाइलें गैर-ASCII वर्णों में उनके फ़ाइल नाम में होती हैं, जैसे "é"।

एक संभावित समाधान utf8_decode()लक्ष्य फ़ाइल बनाने से पहले फ़ाइल का नाम लपेटना है ।

इस मुद्दे के समाधान की पहचान करने और सुझाव देने के लिए फ्रैंक कैनो को श्रेय


4
मुझे लगता है कि selinuxयहाँ एक अच्छा विचार हो सकता है। आपको कम से कम ज़रूरत होगी httpd_sys_content_t(शामिल पढने के लिए अपाचे द्वारा उपयोग की जाने वाली केवल निर्देशिका और फ़ाइलें) अनुमति।
बंसी

सुझाव के लिए बहुत बहुत धन्यवाद। चूंकि मैं SELinux से परिचित नहीं हूं, इसलिए मैंने कुछ पठन किया और इस मामले का जवाब देने की कोशिश की। अगर यह सही नहीं है तो कृपया प्रतिक्रिया दें या कुछ संपादन सुझाएं। टिप्पणी के लिए एक बार फिर शुक्रिया !
विक Seedoubleyew

chconअस्थायी है और एक restoreconया एक रिबूट जीवित नहीं होगा । आपको semanageफ़ाइल के संदर्भ को बदलने के लिए उपयोग करने की आवश्यकता हो सकती है। यहाँ वेब साइट के लिए
बंसी

जोड़ने की एक और संभावना: realpath कैशिंग: lyte.id.au/2014/05/01/what-the-hell-php
chrishiestand

@chrishiestand बहुत बहुत धन्यवाद! यह लेख वास्तव में दिलचस्प है! क्या आपको याद है कि उस त्रुटि के लिए घटनाओं का क्या कारण था? क्या यह था कि शुरू में उपयोगकर्ता ने किसी फ़ाइल तक पहुंच नहीं पढ़ी थी, फिर वह बदल गया, लेकिन कैश अभी भी माना जाता है कि यह पठनीय नहीं था, इसलिए उसने फ़ाइल को खोलने पर उस त्रुटि को फेंक दिया?
विक सेडवेय्यू

16

(वास्तव में अच्छा) मौजूदा उत्तर को जोड़ने के लिए

होस्टिंग सॉफ्टवेयर साझा किया

open_basedirवह है जो आपको स्टंप कर सकता है क्योंकि यह एक वेब सर्वर कॉन्फ़िगरेशन में निर्दिष्ट किया जा सकता है। हालांकि यह आसानी से हटा दिया जाता है यदि आप अपना स्वयं का समर्पित सर्वर चलाते हैं, तो वहाँ कुछ साझा होस्टिंग सॉफ़्टवेयर पैकेज हैं (जैसे कि Plesk, cPanel, आदि) जो प्रति-डोमेन के आधार पर कॉन्फ़िगरेशन निर्देश को कॉन्फ़िगर करेगा। क्योंकि सॉफ़्टवेयर कॉन्फ़िगरेशन फ़ाइल बनाता है (यानी httpd.conf) आप सीधे उस फ़ाइल को बदल नहीं सकते क्योंकि होस्टिंग सॉफ़्टवेयर बस इसे पुनरारंभ होने पर इसे अधिलेखित कर देगा।

Plesk के साथ, वे ओवरराइड करने के लिए, बशर्ते एक जगह उपलब्ध कराते httpd.confकहा जाता है vhost.conf। केवल सर्वर एडमिन ही इस फाइल को लिख सकता है। अपाचे के लिए कॉन्फ़िगरेशन कुछ इस तरह दिखता है

<Directory /var/www/vhosts/domain.com>
    <IfModule mod_php5.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir "/var/www/vhosts/domain.com:/tmp:/usr/share/pear:/local/PEAR"
    </IfModule>
</Directory>

अपने सर्वर व्यवस्थापक को उनके द्वारा उपयोग किए जाने वाले होस्टिंग और वेब सर्वर सॉफ़्टवेयर के लिए मैनुअल से परामर्श करें।

फ़ाइल अनुमतियाँ

यह नोट करना महत्वपूर्ण है कि आपके वेब सर्वर के माध्यम से किसी फ़ाइल को निष्पादित करना कमांड लाइन या क्रोन जॉब निष्पादन से बहुत अलग है। बड़ा अंतर यह है कि आपके वेब सर्वर का अपना उपयोगकर्ता और अनुमतियां हैं। सुरक्षा कारणों से उपयोगकर्ता बहुत प्रतिबंधित है। अपाचे, उदाहरण के लिए, अक्सर है apache, www-dataया httpd(अपने सर्वर पर निर्भर करता है)। क्रोन जॉब या सीएलआई निष्पादन में जो भी अनुमतियाँ होती हैं, जो उपयोगकर्ता के पास होती है (यानी रूट के अनुमतियों के साथ PHP स्क्रिप्ट को रूट के रूप में चलाना)।

बहुत बार लोग निम्नलिखित के द्वारा अनुमतियों की समस्या को हल करेंगे (लिनक्स उदाहरण)

chmod 777 /path/to/file

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

आपको जो करने की ज़रूरत है वह उपयोगकर्ता (नों) को निर्धारित करने की आवश्यकता है जो उन्हें एक्सेस की आवश्यकता होती है और केवल उन्हें ही एक्सेस देते हैं। एक बार जब आपको पता चल जाता है कि आपको किन उपयोगकर्ताओं तक पहुँच की आवश्यकता है, तो आप यह सुनिश्चित करना चाहेंगे

  1. वह उपयोगकर्ता फ़ाइल का मालिक है और संभवतः मूल निर्देशिका (विशेष रूप से मूल निर्देशिका यदि आप फ़ाइलें लिखना चाहते हैं)। अधिकांश साझा होस्टिंग वातावरण में यह एक समस्या नहीं होगी, क्योंकि आपके उपयोगकर्ता को आपकी जड़ के नीचे की सभी फाइलें चाहिए। लिनक्स उदाहरण नीचे दिखाया गया है

     chown apache:apache /path/to/file
  2. उपयोगकर्ता, और केवल उस उपयोगकर्ता की पहुंच है। लिनक्स में, एक अच्छा अभ्यास होगा chmod 600(केवल स्वामी पढ़ और लिख सकता है) या chmod 644(स्वामी लिख सकता है लेकिन हर कोई पढ़ सकता है)

आप लिनक्स / यूनिक्स अनुमतियों और उपयोगकर्ताओं की अधिक विस्तारित चर्चा यहां पढ़ सकते हैं


7
  1. को देखो सटीक त्रुटि

मेरे कोड ने सभी मशीनों पर ठीक काम किया, लेकिन केवल इस पर समस्या देना शुरू किया (जो मुझे लगता है कि काम करने के लिए इस्तेमाल किया गया था)। डीबग करने के लिए इको "डॉक्यूमेंट_रोट" पथ का उपयोग किया और त्रुटि को भी करीब से देखा, यह पाया

चेतावनी: शामिल हैं ( D: /MyProjects/testproject//functions/connections.php ): स्ट्रीम खोलने में विफल:

आप आसानी से देख सकते हैं कि समस्याएं कहां हैं। कार्यों से पहले समस्याएं // हैं

$document_root = $_SERVER['DOCUMENT_ROOT'];
echo "root: $document_root";
include($document_root.'/functions/connections.php');

तो बस शामिल / से हटा दें और यह ठीक काम करना चाहिए। क्या दिलचस्प है यह व्यवहार विभिन्न संस्करणों पर अलग है। मैं लैपटॉप, मैकबुक प्रो और इस पीसी पर एक ही कोड चलाता हूं, सभी ने अच्छा काम नहीं किया। आशा है कि यह किसी की मदद करता है।

  1. सुनिश्चित करें कि फ़ाइल मौजूद है बनाने के लिए ब्राउज़र में फ़ाइल स्थान को कॉपी करें। कभी-कभी फाइलें अप्रत्याशित रूप से डिलीट हो जाती हैं (मेरे साथ हुई) और यह मेरे मामले में भी समस्या थी।

नीचे दी गई चेकलिस्ट के चरण 1 से अलग कैसे है?
विक Seedoubleyew

चरण 2 एक अतिरिक्त जांच, चरण 1 से संबंधित नहीं। बस ब्राउज़र में प्रस्तावित पथ पर जाएं और देखें कि क्या आप वहां फ़ाइल देखते हैं (विंडोज़ एक्सप्लोरर में नहीं बल्कि ब्राउज़र में)।
हम्माद खान

2

क्वेरी पैरामीटर के साथ स्क्रिप्ट जोड़ें

यह मेरा मामला था। यह वास्तव में # 4485874 प्रश्न से लिंक करता है , लेकिन मैं इसे शीघ्र ही यहाँ समझाने जा रहा हूँ।
जब आप आवश्यकता के लिए प्रयास करते हैं path/to/script.php?parameter=value, तो PHP नाम की फ़ाइल की तलाश करती है script.php?parameter=value, क्योंकि UNIX आपको इस तरह से पथ बनाने की अनुमति देता है।
क्या तुम सच में, शामिल स्क्रिप्ट के लिए कुछ डेटा पास करनी होगी रहे हैं, तो बस के रूप में यह घोषणा $variable=...या $GLOBALS[]=...या अन्य आप की तरह जिस तरह से।


2

सांबा शेयर

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

chmod -R 777 myfolder

लिनक्स पक्ष पर यह पूरी तरह से संभव है कि यूनिक्स समूह \ www-डेटा अभी भी लेखन पहुंच नहीं है। एक काम कर रहे समाधान अगर आपका हिस्सा सेट है कि विंडोज एडिंस को रूट करने के लिए मैप किया गया है: विंडोज से, अनुमतियां खोलें, कॉपी के साथ अपने फ़ोल्डर के लिए इनहेरिटेंस को अक्षम करें, और फिर www-डेटा के लिए पूर्ण पहुंच प्रदान करें।


1

एक और संभावित कारण: पाठ संपादक में रहते हुए फ़ाइलों का नाम बदलना और / या बढ़ना। मैं बिना सफलता के ऊपर के सभी चरणों से गुजरा जब तक मैंने इस त्रुटि को फेंकने वाली फ़ाइल को हटा दिया और एक नया बनाया, जिसने समस्या को ठीक किया।


1
अगर मैं समझता हूं कि आप सही तरीके से क्या कहते हैं, तो यह सूची में पहले चेक द्वारा तुरंत समस्या निवारण हो जाएगा
विक सेड्वेन्यूवे

# संभावित कारणों के बारे में स्पष्ट नहीं है
zMeadz

हां, लेकिन आप कारणों की परवाह नहीं करते हैं, आप समस्या को ठीक करने का तरीका खोजने के बारे में परवाह करते हैं। इससे भी महत्वपूर्ण बात, चरण संख्या 1 ने आपकी समस्या को हल कर दिया होगा
विक सेड्विन्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.