जवाबों:
कोड को wp-config.php में जोड़ने का प्रयास करें:
define('FS_METHOD', 'direct');
FS_METHOD
यह छोटा है FILESYSTEM_METHOD
। जब आप परिभाषित कर रहे हैं direct
-ly फ़ाइलों को संशोधित - एफ़टीपी का उपयोग नहीं कर रहा है, तो आप वर्डप्रेस को सीधे साइट पर फ़ाइलों को बदलने और बदलने के लिए मजबूर कर रहे हैं।
यदि आप उबंटू का उपयोग कर रहे हैं।
sudo chown -R www-data:www-data PATH_TO_YOUR_WORDPRESS_FOLDER
www-data
यहां देखने के लिए होना चाहिए : codex.wordpress.org/Hardening_WordPress या यहाँ: stackoverflow.com/questions/18352682/…
"जब भी आप प्लगइन्स को स्वचालित रूप से इंस्टॉल, अपग्रेड या हटाने के लिए वर्डप्रेस कंट्रोल पैनल का उपयोग करते हैं, तो वर्डप्रेस को फाइल सिस्टम पर फाइलों में बदलाव करना चाहिए।
कोई भी परिवर्तन करने से पहले, वर्डप्रेस पहले यह देखने के लिए जाँच करता है कि फ़ाइल सिस्टम में सीधे हेरफेर करने के लिए उसकी पहुँच है या नहीं।
यदि वर्डप्रेस के पास सीधे फाइलसिस्टम को संशोधित करने की आवश्यक अनुमति नहीं है, तो आपको एफ़टीपी क्रेडेंशियल के लिए कहा जाएगा ताकि वर्डप्रेस एफटीपी के माध्यम से इसे करने की कोशिश कर सके। "
समाधान: यह जानने के लिए कि अपाचे का आपका उपयोगकर्ता किस रूप में चल रहा है, निम्न सामग्री के साथ एक परीक्षण स्क्रिप्ट बनाएं:
<?php echo(exec("whoami")); ?>
मेरे लिए, यह डेमॉन था न कि www-data। फिर, द्वारा अनुमति को ठीक करें:
sudo chown -R daemon /path/to/your/local/www/folder
<?php echo(exec("id")); ?>
जो आपको उपयोगकर्ता आईडी से परे समूह डेटा भी प्रदान करेगा:uid=5018(web27) gid=5012(client7) groups=5012(client7),5002(sshusers)
whoami
तो आप एक ही जानकारी देख सकते हैं:sudo chown -R `whoami` /path/to/your/local/www/folder
OSX पर, मैंने निम्नलिखित का उपयोग किया, और इसने काम किया:
sudo chown -R _www:_www {path to wordpress folder}
_www वह उपयोगकर्ता है जो PHP मैक के तहत चलता है।
(आपको कुछ फ़ोल्डरों को भी चोदने की आवश्यकता हो सकती है। मैंने पहले ऐसा किया था और उसने इसे ठीक नहीं किया। यह तब तक नहीं था जब तक कि मैंने चाउन कमांड को काम नहीं किया था, इसलिए मुझे यकीन नहीं है कि यह चॉइस कमांड था। अकेले, या चामोद और चाउन का संयोजन।)
मैंने वर्डप्रेस फ़ोल्डर के स्वामित्व को www-डेटा के लिए पुनरावर्ती और पुनः आरंभ करने वाले एपाचे में बदल दिया।
sudo chown -R www-data:www-data <folderpath>
इसने एक जादू की तरह काम किया!
वर्डप्रेस आपके एफ़टीपी क्रेडेंशियल के लिए पूछता है जब वह सीधे फ़ाइलों तक नहीं पहुंच सकता है। यह आमतौर पर PHP के कारण होता है जो अपाचे उपयोगकर्ता (mod_php या CGI) के रूप में चलता है, बजाय उस उपयोगकर्ता के जो आपकी वर्डप्रेस फाइलों का मालिक है।
यह सबसे साझा होस्टिंग वातावरण में सामान्य है - फ़ाइलें उपयोगकर्ता के रूप में संग्रहीत की जाती हैं, और अपाचे उपयोगकर्ता apache
या के रूप में चलता है httpd
। यह वास्तव में एक अच्छा सुरक्षा एहतियात है इसलिए शोषण और हैक मेजबान फ़ाइलों को संशोधित नहीं कर सकते हैं। आप सभी WP फ़ाइलों को 777 सुरक्षा पर सेट करके इसे दरकिनार कर सकते हैं, लेकिन इसका मतलब है कि कोई सुरक्षा नहीं है, इसलिए मैं इसके खिलाफ अत्यधिक सलाह दूंगा। बस FTP का उपयोग करें, यह स्वचालित रूप से सलाह दी जाती है अच्छे कारण के साथ।
पहले अपने इंस्टालेशन फोल्डर में जाएं (उदाहरण के लिए)
cd /Applications/XAMPP/xamppfiles/
अब हम आपकी htdocs निर्देशिका को संशोधित करने जा रहे हैं:
sudo chown -R daemon htdocs
संकेत दिए जाने पर अपना रूट पासवर्ड दर्ज करें, फिर इसे एक चामॉड कॉल के साथ समाप्त करें:
sudo chmod -R g+w htdocs
मैंने उबंटू 14.04 पर वर्डप्रेस का एक स्थानीय इंस्टॉलेशन किया था, जो यहां बताए गए चरणों का पालन कर रहा था और बस चल रहा था:
sudo chown -R www-data:www-data {path_to_your_project_directory}
प्लगइन्स डाउनलोड करने के साथ मेरी समस्या को हल किया। इस पद को छोड़ने का एकमात्र कारण यह है कि जब मैंने अपने मुद्दे को हल किया, तो यह पहले परिणामों में से एक था और इसने मुझे मेरी समस्या के समाधान के लिए प्रेरित किया।
आशा है कि यह किसी को भी मदद करता है!
हम एक बड़ी समस्या के हिस्से के रूप में एक ही समस्या थी। का हल सुझाया
define('FS_METHOD', 'direct');
उस विंडो को छुपाता है, लेकिन फिर भी हमारे पास लोडिंग थीम और अपग्रेड आदि की समस्याएं हैं। यह अनुमतियों से संबंधित है, लेकिन हमारे मामले में हमने php OS विक्रेता mod_php से अधिक सुरक्षित php OS विक्रेता FastCGI एप्लिकेशन पर ले जाकर समस्या को ठीक किया है ।
यदि एक प्लगइन की स्थापना के दौरान, Wordpress आपके होस्टनाम या एफ़टीपी विवरण के लिए पूछता है। तो इन चरणों का पालन करें:
अपने सर्वर पर लॉगिन करें और / var / www / html / वर्डप्रेस / पर नेविगेट करें । Wp-config.php खोलें और परिभाषित करने के बाद इस लाइन को जोड़ें ('DB_COLLATE')
define('FS_METHOD', 'direct');
यदि आपको "निर्देशिका नहीं बना सका" त्रुटि। अपने वर्डप्रेस निर्देशिका में लिखने की अनुमति पुनरावर्ती में दें
chmod -R go+w wordpress
ध्यान दें। सुरक्षा के लिए, एक प्लगइन स्थापित करने के बाद इन अनुमतियों को रद्द करें
chmod -R go-w wordpress
इस समस्या को हल करने का सबसे आसान तरीका आपके लिए निम्न एफ़टीपी जानकारी जोड़ना है wp-config.php
define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
FTP_BASE WordPress स्थापना के "आधार" (ABSPATH) फ़ोल्डर का पूर्ण पथ है FTP_CONTENT_DIR वर्डप्रेस इंस्टॉलेशन के wp-content फ़ोल्डर का पूर्ण पथ है। FTP_PLUGIN_DIR वर्डप्रेस इंस्टॉलेशन के प्लग इन फ़ोल्डर का पूर्ण पथ है।
जैसा कि नील्स ने उल्लेख किया है, ऐसा इसलिए होता है क्योंकि सर्वर प्रक्रिया उपयोगकर्ता वर्डप्रेस फ़ोल्डर में नहीं लिख सकता है।
लेकिन यहाँ बहुत सारे लेखों की व्याख्या नहीं है। यह php प्रक्रिया का स्वामी है, नगीनक्स प्रक्रिया का नहीं। यदि आप nginx के मालिक को बदलने की कोशिश करते हैं, तो यह इसका समाधान नहीं करेगा।
इसे हल करने के लिए, यह ps aux
देखने के लिए चलें कि कौन सा उपयोगकर्ता php-fpm प्रक्रिया का मालिक है। फिर जांच लें कि उपयोगकर्ता वही है जो वर्डप्रेस फ़ोल्डर का मालिक है, या कम से कम इसे लिख सकता है। यदि उपयोगकर्ता इसे नहीं लिख सकता है, तो आपको फ़ोल्डर की अनुमति और / या स्वामित्व बदलने की आवश्यकता होगी; या दो उपयोगकर्ताओं (सर्वर स्वामी और वर्डप्रेस फ़ोल्डर के मालिक) को एक सामान्य समूह में रखें, जो फ़ोल्डर में लिख सकता है; या php.ini "उपयोगकर्ता" गुण को उस उपयोगकर्ता को बदलें जो फ़ोल्डर में लिख सकता है।
इस सवाल पर बहुत सी समान प्रतिक्रियाएं हैं, लेकिन उनमें से कोई भी पूरी तरह से मूल कारण को नहीं छूता है। मूल पोस्ट पर सेबस्टियन श्मिड की टिप्पणी उस पर स्पर्श करती है लेकिन पूरी तरह से नहीं। यहाँ मेरा 2018-11-06 तक का समय है:
मूल कारण
जब आप WordPress व्यवस्थापक इंटरफ़ेस के माध्यम से एक प्लगइन अपलोड करने की कोशिश, वर्डप्रेस "get_filesystem_method ()" एक समारोह कहा जाता है (: रेफरी के लिए खत्म हो एक फोन करना होगा /wp-admin/includes/file.php:1549 )। यह दिनचर्या प्रश्न में स्थान के लिए एक फ़ाइल लिखने का प्रयास करेगी (इस मामले में प्लगइन निर्देशिका)। यह निश्चित रूप से यहां विफल हो सकता है अगर फ़ाइल अनुमतियों को वर्डप्रेस उपयोगकर्ता को अनुमति देने के लिए सेटअप अधिकार नहीं है (सोचें कि उपयोगकर्ता की पहचान php निष्पादित करें) फ़ाइल को प्रश्न में स्थान पर लिखने के लिए।
यदि फ़ाइल बनाई जा सकती है, तो यह फ़ंक्शन तब अस्थायी फ़ाइल के फ़ाइल स्वामी का पता लगाता है, साथ ही फ़ंक्शन की वर्तमान फ़ाइल के फ़ाइल स्वामी (रेफरी: /wp-admin/includes/file.php:1572 ) और दोनों की तुलना करता है। यदि वे तब मेल खाते हैं, तो वर्डप्रेस के शब्दों में, "वर्डप्रेस फ़ाइलों के रूप में एक ही मालिक के रूप में वर्डप्रेस बना रहा है, इसका मतलब यह है कि PHP के माध्यम से नई फ़ाइलों को संशोधित करना और बनाना सुरक्षित है" और आपका प्लगइन एफ़टीपी क्रेडेंशियल प्रॉम्प्ट के बिना सफलतापूर्वक अपलोड किया गया है। यदि वे मेल नहीं खाते हैं, तो आपको एफ़टीपी क्रेडेंशियल शीघ्र मिलता है।
ठीक करता है
पहचान सुनिश्चित करें कि आपकी php प्रक्रिया चल रही है या तो फ़ाइल स्वामी है:
क) सभी वर्डप्रेस एप्लिकेशन फाइलें, या ...
बी) बहुत कम से कम /wp-admin/includes/file.php फ़ाइल पर
अंतिम टिप्पणियाँ
मैं विशेष रूप से इस मुद्दे के आसपास काम करने के लिए file.php पर फ़ाइल स्वामित्व लागू करने के लिए उत्सुक नहीं हूँ (यह कम से कम कहने के लिए एक बालक हैकी लगता है!)। यह इस बिंदु पर मुझे लगता है कि वर्डप्रेस कोड आधार हमें उसी उपयोगकर्ता प्रिंसिपल के तहत PHP प्रक्रिया को निष्पादित करने की दिशा में झुकाव कर रहा है जो वर्डप्रेस एप्लिकेशन फ़ाइलों के लिए फ़ाइल स्वामी के रूप में है। मैं इस पर समुदाय की कुछ टिप्पणियों का स्वागत करूंगा।