2014-10-24 3 views
6

के लिए एक लिनक्स अनुमति मुद्दे को हल करने के लिए कैसे मैं तोड़फोड़ का इस्तेमाल किया था मेरी पीएचपी Opencart परियोजना वापस लौटने के लिए, लेकिन मैं एक अनुमति मुद्दा (मिला नमूना नीचे दिखाया गया है:opencart

चेतावनी: imagejpeg(): खोलने में असमर्थ ' /var/www/html/opencart/image/cache/data/pavblog/img-blog-620x300w.jpg 'लेखन के लिए: लाइन 45 पर /var/www/html/opencart/system/library/image.php में अनुमति अस्वीकार

चेतावनी: imagejpeg(): लिखने के लिए '/var/www/html/opencart/image/cache/data/pavblog/img/blog-250x250w.jpg' खोलने में असमर्थ: अनुमति/var/www/एचटीएमएल/ओपनकार्ट/सिस्टम/लाइब्रेरी/image.php लाइन 45

चेतावनी: imagejpeg(): खोलने में असमर्थ ...

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

sudo chmod 777 /var/www/html/opencart 
cd /var/www/html/opencart 
sudo chmod 777 image/ 
sudo chmod 777 image/cache/ 
sudo chmod 777 image/data/ 
sudo chmod 777 system/cache/ 
sudo chmod 777 system/logs/ 
sudo chmod 777 download/ 
sudo chmod 777 config.php 
sudo chmod 777 admin/config.php 

मैं इसे कैसे ठीक कर सकता हूं?

+0

आप 'ls -al' करते हैं फ़ोल्डरों में से एक में , जिसे फ़ाइल स्वामी के रूप में दिखाया गया है: रूट, www-data, apache, या कोई और? –

+0

मालिक सभी फ़ोल्डरों और फ़ाइलों के लिए रूट है। –

+0

ठीक है ... यह लगभग निश्चित रूप से असली मुद्दा है। मैं आपको http://unix.stackexchange.com/a/30888/47521 पर संदर्भित करने जा रहा हूं, क्योंकि इससे उचित फ़ाइल अनुमतियों का बेहतर वर्णन होगा –

उत्तर

2

आपको आवर्ती अनुमतियों को लागू करने की आवश्यकता है।

sudo chmod -R 777 image/cache/

+0

आपके पास रिकर्सन का उपयोग करने के बारे में एक अच्छा बिंदु है, लेकिन मैं किसी के लिए निष्पादन योग्य अनुमति देने के बारे में _really_ leery हूँ। –

+2

सहमत हुए, 777 को मेरी राय में कभी भी इस्तेमाल नहीं किया जाना चाहिए, बस आपके उदाहरण का पालन करें। 644 पहले कोशिश करें, फिर 755 अगर यह काम नहीं करता है। (यह बताना मुश्किल है कि आपको अपना पूरा सेटअप जानने के बिना क्या चाहिए) – rjdown

6

अपनी अनुमति ठीक करने की कोशिश, तो आप दो अलग कदम उठाने की आवश्यकता होगी: उचित संस्था के लिए

  1. अनुमति दें। चूंकि आप/var/www/html में हैं, मेरा अनुमान है कि सही उपयोगकर्ता "अपाचे" है।

    # Grants permissions to apache 
    sudo chown apache:apache -R /var/www/html/opencart 
    
    # If that doesn't work, perhaps try www-data 
    sudo chown www-data:www-data -R /var/www/html/opencart 
    
  2. फ़ाइलों और फ़ोल्डरों की अनुमतियां सेट ठीक से (फ़ाइलें अनुमति पर अमल करने के लिए के लिए यह खतरनाक हो सकता है)

    # Sets directory permissions to 755 (rwxr-xr-x) 
    sudo find /var/www/html/opencart -type d -exec chmod 755 {} \; 
    
    # Sets file permissions to 644 (rw-r--r--) 
    sudo find /var/www/html/opencart -type f -exec chmod 644 {} \; 
    
+0

धन्यवाद, मैं -R का उपयोग करने के लिए चूक गया! –

+1

अपाचे उपयोगकर्ता ढूंढें: '$ user = getenv ('APACHE_RUN_USER'); 'http://stackoverflow.com/a/17415081/560287 –

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