2010-09-03 16 views
6

PHP अपाचे के साथ फाइलें बनाता है: अपाचे स्वामित्व जो फ़ाइल तक पहुंचने वाली अन्य PHP स्क्रिप्ट के साथ समस्याएं उत्पन्न कर रहा है।मैं php को उसी स्वामित्व वाली फ़ाइलों को बनाने के लिए फ़ाइलों को बनाने की अनुमति कैसे दे सकता हूं?

मैं php को उसी स्वामित्व वाली फ़ाइलों को बनाने के लिए फ़ाइलों को बनाने की अनुमति कैसे दे सकता हूं?

मैंने कहीं और पढ़ा है कि सुरक्षित_मोड चालू होने से यह प्रभावित हो सकता है लेकिन मैंने इसे बंद कर दिया है और फ़ाइलों को दोबारा अपलोड किया है और मुझे अभी भी एक ही समस्या मिलती है।

मुझे यकीन है कि यह अपाचे से अधिक परिचित किसी के लिए एक साधारण सवाल होगा लेकिन मैं आसपास खोज करके समाधान ढूंढने में विफल रहा हूं।

धन्यवाद

+0

करने के लिए डिफ़ॉल्ट umask क्या पर्यावरण प्रयोग कर रहे हैं सेट? विंडोज या लिनक्स? –

+0

मुझे लगता है कि वह लिनक्स के बारे में बात कर रहा है। – fabrik

उत्तर

2

स्वामित्व मामलों और एकाधिक उपयोगकर्ताओं/परियोजनाओं एक ही सर्वर पर हैं, तो आप अपाचे में SuExec में देखना चाहते हो सकता है: PHP फ़ाइलों तो सेटिंग्स में संकेत उपयोगकर्ता द्वारा चलाया जाएगा , इसलिए फाइलों का डिफ़ॉल्ट स्वामित्व स्वचालित रूप से ख्याल रखा जाता है। यह बहुत सी चीजें/chmod'ing बचाता है, और उपयोगकर्ता द्वारा संचालित प्रक्रियाओं को अधिक आसानी से प्रतिबंधित कर रहे हैं।

अन्यथा, मैं सामान्य रूप से दोनों मालिक & अपाचे के साथ एक समूह बनाते हैं, और 007 की

0

आप Windows OS का उपयोग कर रहे हैं आप एक सेवा के रूप में अपाचे शुरू और अपाचे जब शुरू करने को अपने खाते के अनुमतियों का उपयोग करने की अनुमति दे सकते हैं।

+0

मैं इसे स्थानीय रूप से नहीं चला रहा हूं, मैं इसे एक रैकस्पेस सर्वर पर चला रहा हूं इसलिए लिनक्स – DonutReply

+0

उस मामले में मुझे नहीं पता कि कैसे – Thariama

0

fileowner (http://www.php.net/manual/en/function.fileowner.php) का उपयोग कर मौजूदा स्क्रिप्ट के स्वामी की आईडी प्राप्त करने की कोशिश, POSIX-getpwuid फ़ाइलों के लिए उपयोगकर्ता स्थापित करने के लिए है कि आईडी (http://www.php.net/manual/en/function.posix-getpwuid.php) और chown (http://php.net/manual/en/function.chown.php) के लिए उपयोगकर्ता नाम मिलता है।

0

मालिक को बदलने के लिए सभी प्रोग्रामिक परेशानी क्यों गुजरती है? apache.apache वैसे भी एक बहुत ही असुरक्षित मालिक है। क्यों नहीं chmod 0777 फ़ाइल सभी मालिकों को पढ़ने, लिखने और निष्पादित करने वाली फ़ाइल प्रदान नहीं करती है। यह इस मुद्दे को खत्म कर देगा।

यदि आपको अभी भी समस्याएं आ रही हैं, तो आपको यह जांचने की आवश्यकता हो सकती है कि open_basedir चालू है या नहीं। यदि ऐसा है, तो यह फ़ाइल स्वामित्व या अनुमति नहीं है, बल्कि स्थान है। इसका मूल रूप से मतलब है कि आपको फ़ाइल को उस स्थान पर रखना होगा जो apache/php पहले से ही उनके पथ में शामिल है।

+2

एर्म, एक असुरक्षित 'अपाचे' के बारे में शिकायत करते हैं और फिर 0777 की वकालत करना एक विचित्र संयोजन है। – Wrikken

+0

मैं जो कह रहा हूं वह है कि अगर अपाचे को फ़ाइलों तक पहुंचने की ज़रूरत है, तो उन्हें 0777 पर सेट करने से कोई फर्क नहीं पड़ता है। बस इतना ही। –

0

एएम। ऊपर उल्लिखित chown(), कृपया ध्यान रखें कि आम तौर पर chown() केवल रूट द्वारा उपयोग किया जा सकता है और आपके वेबसर्वर चलने वाले खाते को रूट होने की संभावना बहुत कम है, यह एक बहुत बुरा विचार है।

विशिष्ट क्षेत्रों में और केवल विशिष्ट उपयोगकर्ताओं के लिए अन्य उपयोगकर्ताओं द्वारा चोटी की अनुमति देने के लिए सूडो सेट करना संभव है। आमतौर पर विसुडो प्रोग्राम का उपयोग करके,/etc/sudoers में उपयुक्त प्रविष्टि बनाना होगा। यदि आपके पास रूट पहुंच नहीं है, तो आपके होस्टिंग प्रदाता को यह आपके लिए करना होगा, अगर वे करेंगे।

अधिक जानकारी के लिए: http://www.sudo.ws/sudo/sudo.html

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

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