2011-10-26 18 views
8

मैं मीडियाविकि का उपयोग करता हूं लेकिन एक त्रुटि है। मैंने इसे फाइलों में पाया। इस कोड के साथ लाइन है:रीयलपैथ खाली स्ट्रिंग

$IP = realpath('.'); 

लेकिन $ आईपी एक खाली स्ट्रिंग देता है, तो सिस्टम में फ़ाइलों के लिए पथ काम नहीं कर रहा। (उदाहरण के लिए यदि $ आईपी . या E:/path_to_wwwroot होगा तो यह काम करता है)। मैं समस्या को कैसे हल कर सकता हूँ। क्या यह संभव है कि मेरे प्रदाता ने रीयलपाथ तक पहुंच को अवरुद्ध कर दिया?

धन्यवाद!

+0

क्या आपको '। /' के साथ कोई खुशी मिलती है? कोई फर्क नहीं पड़ता है लेकिन शॉट के लायक हो सकता है ... – DaveRandom

+0

नहीं :-($ आईपी अभी भी खाली है। लेकिन उदाहरण के लिए बेसनाम काम करता है। लेकिन मैं इसका उपयोग नहीं करता, मैं जानना चाहता हूं कि मुझे यह त्रुटि क्यों मिलती है। Realpath के साथ और अधिक त्रुटियां हो सकती हैं :-( – Jordy

+1

और 'realpath()' उन फ़ाइलों पर भी काम नहीं करती है जो मौजूद नहीं हैं। – Thamaraiselvam

उत्तर

14

स्रोत: http://php.net/manual/en/function.realpath.php

नोट: चल स्क्रिप्ट पदानुक्रम में सभी निर्देशिकाओं पर निष्पादन अनुमतियाँ चाहिए, अन्यथा realpath() अवास्तविक लौटाते हैं।

तो आपके वेब सर्वर को प्री-वेबूट निर्देशिकाओं तक पहुंच भी होनी चाहिए।

+2

आह धन्यवाद, इसे wwwroot में सभी निर्देशिकाओं पर पढ़ने की अनुमति चाहिए या wwwroot के बाहर की फ़ाइलें भी – Jordy

+0

वाह, यह समस्या हल हो गई! बहुत धन्यवाद। मुझे अपने सबडोमेन मैप से पढ़ने की अनुमति बदलने की जरूरत है। धन्यवाद !!! – Jordy

+0

जब मैं "पोर्टेबल" PHP + एनजीआईएनएक्स ऐप डब्ल्यूटी-एनएमपी चला रहा था और मेरा sandboxed PHP ऐप php.ini में open_basedir के लिए निर्दिष्ट पथ के बाहर पुस्तकालयों का संदर्भ दे रहा था। मैंने इसे खोलने के लिए अपना लाइब्रेरी पथ खोलकर ओपन_बेसिसर (विंडोज़ पर ";" डिलीमीटर का उपयोग करके हल किया। – ftexperts

0

मैं वर्तमान में कमांड लाइन से PHP चलाते समय इस परिणाम का अनुभव कर रहा हूं, लेकिन HTTP अनुरोध के भीतर नहीं। कॉन्फ़िगर या $ _SERVER सेटिंग्स कहीं भी हो, अगर मुझे फिक्स मिल जाए तो अपडेट हो जाएगा।

संबंधित मुद्दे