त्रुटि 0 अद्यतन करते समय लॉग लिखने के लिए खुली फाइल नहीं हो सकती


9

मैंने एक जूमला वेबसाइट को अपडेट करने की कोशिश की है, जो नवीनतम अपडेट उन्होंने एडमिन एरिया से जारी की है।

लेकिन अद्यतन करने के प्रयास के बाद,

मुझे यह त्रुटि संदेश मिला है:

"एक त्रुटि आई है। लॉग लिखने के लिए 0 फ़ाइल नहीं खोल सकता है"

समस्या क्या है?


@Valentin देस्पा, प्रश्न को संपादित करने के लिए धन्यवाद।
हब्बरजंद

जवाबों:


11

एक अनुमति समस्या की तरह लगता है।

जूमला बैकएंड में:

सिस्टम (शीर्ष मेनू) >> सिस्टम सूचना >> निर्देशिका अनुमतियाँ

सुनिश्चित करें कि सभी फ़ाइलों और फ़ोल्डरों वैश्विक से अलग बनाने configuration.php हैं लिखने योग्य

यदि वे नहीं हैं, तो आपको अनुमतियां बदलनी होंगी, ताकि सभी फ़ोल्डर 755 पर सेट हो जाएं और फाइलें 644 पर सेट हो जाएं ।

आप या तो एफ़टीपी क्लाइंट जैसे कि फ़ाइलज़िला या जूमला एक्सटेंशन जैसे एडमिन टूल्स का उपयोग करके ऐसा कर सकते हैं।

यदि आपने पहले ही ऐसा कर लिया है, तो सुनिश्चित करें कि आपने अपनी लॉग डायरेक्टरी को सही ढंग से परिभाषित किया है, क्योंकि कभी-कभी लॉग फोल्डर का रास्ता गलत हो सकता है। पथ की जांच / बदलने के लिए, जूमला बैकएंड में, ग्लोबल कॉन्फ़िगरेशन पर जाएं और फिर सर्वर टैब चुनें और जांचें कि क्या पथ से लॉग फ़ोल्डर सही है।

इसके अलावा, ध्यान दें कि आप जूमला अपडेट पैकेज डाउनलोड कर सकते हैं और इसे अपनी वेबसाइट के रूट पर अपलोड कर सकते हैं और जूमला अपडेट फीचर का उपयोग करने के बजाय इसे निकाल सकते हैं।

उम्मीद है की यह मदद करेगा


2

आपको जूमला के बैकएंड में अपने "/ लॉग" फ़ोल्डर को अपने सर्वर के पूर्ण लिंक से कॉन्फ़िगर करना होगा। उदाहरण के लिए: / www / public_html / लॉग।


.php फ़ाइल बनाएँ और यह जानने के लिए कि आपके सर्वर का निरपेक्ष पथ क्या है, इस कोड को पेस्ट करें। अपने ब्राउज़र पर अपलोड करें और इसे कॉल करें: पूर्व: www.yourdomaine.com/path.php

यह कोड है

<?php
   $path = getcwd();
   echo "Your Absolute Path is:" . $path;
?>

2

त्रुटि इसलिए है क्योंकि आपके लॉग और tmp फ़ोल्डर पथ सही नहीं है। इस पथ को संपादित करने के लिए आपके पास दो तरीके हैं:

  1. अपने खाते के ftp पर जाएं और इस फ़ाइल को ढूंढें और Cuteftp या filezila या फ़ाइल प्रबंधक के माध्यम से संपादित करें। configuration.php और tmp या लॉग फ़ोल्डर का पथ ढूंढें और सही पथ से बदलें

  2. जूमला ग्लोबल कॉन्फ़िगरेशन के व्यवस्थापक भाग में जाएँ -> सिस्टम --->

लॉग फ़ोल्डर में पथ

*/home/**yourusername**/public_html/logs*

वैश्विक कॉन्फ़िगरेशन -> सर्वर ---> आप पथ को अस्थायी फ़ोल्डर में देख सकते हैं और इसे बदल सकते हैं

*/home/**yourusername**/public_html/tmp*

घर के बाद आपको अपने होस्टिंग खाते का उपयोगकर्ता नाम बदलना चाहिए

यदि आप plesk या directadmin या अन्य नियंत्रण कक्ष का उपयोग कर रहे हैं, तो आपको अपने होस्टिंग समर्थन से संपर्क करना चाहिए और इन पथ पते के बारे में बताएं, जहां यह बताया गया है

आशा है कि आपका मुद्दा हल हो गया है और यह आपकी मदद करेगा


2

बस यहाँ लिपटे सभी जानकारी के एक बिट ...

अनुमतियाँ समस्याएँ आमतौर पर 2 मुख्य कारणों से होती हैं:

  1. OS पर असली फ़ाइल / फ़ोल्डर अनुमतियाँ समस्याएँ
  2. कॉन्फ़िगरेशन फ़ाइल में परिभाषित tmp / लॉग निर्देशिकाओं के लिए गलत निर्देशिका पथ।

यह देखने का सबसे अच्छा तरीका है कि क्या वास्तविक अनुमतियाँ समस्या है बैकएंड में जाँच करने के लिए:

सिस्टम जानकारी -> निर्देशिका अनुमतियाँ

यह आपको बताएगा कि आपके जूमला इंस्टॉलेशन के रूट में कौन सी फाइलें / फोल्डर राइटिंग (हरा रंग) हैं, या राइटेबल (लाल रंग) नहीं हैं।

केस 1 के लिए - सबसे आसान तरीकों में से एक, ऑपरेटिंग सिस्टम द्वारा फ़ाइल / फ़ोल्डरों पर सौंपी गई गलत अनुमतियों से निपटने के लिए, अकीबा के एडमिन टूल्स का उपयोग करना है । यह आपकी इच्छित अनुमतियों को सेट करने के लिए एक उपयोगिता प्रदान करता है और जूमला इंस्टॉलेशन के सभी फ़ोल्डरों / फाइलों पर लागू होता है।

केस 2 के लिए - अगर आपके पास tmp / log निर्देशिकाओं के लिए गलत रास्ते हैं , तो आपको इसे जूमला के वैश्विक कॉन्फ़िगरेशन में बदलना चाहिए। यदि आपको नहीं पता कि आपके होस्टिंग की होम डायरेक्टरी क्या है, तो अपने होस्टिंग प्रदाता से पूछना बेहतर है।

आप इन रास्तों को या तो गोगल कॉन्फ़िगरेशन में जूमला के बैकएंड से , या अपनी होस्टिंग के फाइल मैनेजर के माध्यम से या एफ़टीपी से जोड़कर , और कॉन्फ़िगरेशन.फैप फ़ाइल को संपादित कर सकते हैं।

आमतौर पर cPanel होस्टिंग में , यह इस प्रकार है:

"/home/myHostingUsername/logs"
"/home/myHostingUsername/tmp"

तो आपके कॉन्फ़िगरेशन में इन सेटिंग्स के लिए अंतिम रूप। फ़ाइल की तरह होना चाहिए:

public $log_path = '/home/myHostingUsername/logs';
public $tmp_path = '/home/myHostingUsername/tmp';

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


0

यदि आप जूमला के बैकएंड में नहीं जा सकते हैं, तो आप अपने जूमला इंस्टॉलेशन के रूट में कॉन्फ़िगरेशन.php फ़ाइल में निरपेक्ष पथ बदल सकते हैं।


0

मैंने निर्देशिका ( logs/, temp/) के स्वामित्व को अपाचे उपयोगकर्ता के लिए सेट करने से लेकर, मैंने भी अनुमति की अनुमति तक सब कुछ करने की कोशिश की 777, लेकिन फिर भी यह त्रुटि हो रही थी।

तो ऐसा लगता है, नाम वाली फ़ाइल error.phpअभी भी सेट थी user: groupजैसा कि root

इसलिए जब मैंने इस फाइल के स्वामित्व को बदल दिया तो चीजें ठीक काम करने लगीं।

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