WP CLI "स्थानीय डेटाबेस में डेटाबेस कनेक्शन स्थापित करने में त्रुटि" (MAMP)


13

WP CLI के साथ कुछ बनाने की कोशिश करने पर मुझे यह त्रुटि मिलती है:

Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or we cant contact the database server at `localhost`. This could mean your hosts database server is down.

लेकिन मैं लिंक के साथ साइट खोल सकता हूं: http: // localhost: 8888 / projectname

कोई उपाय?

जवाबों:


27

अपने में जाएं wp-config.phpऔर लोकलहोस्ट के बजाय अपने DB_HOSTको बदलें 127.0.0.1

टिप्पणियों में ऊपर क्रेग वेन को श्रेय जाता है।


2
MAMP Pro में मुझे काम करने के लिए "MySQL तक नेटवर्क की अनुमति दें" की भी जाँच करनी थी।
निक एम

मैंने यह कोशिश की लेकिन कोई मदद नहीं की। मैं बेडरोल बॉयलरप्लेट का उपयोग कर रहा हूं। मैं wp-config और .env फ़ाइल को बार-बार गया, Mrus को बार-बार कॉन्फ़िगर करता गया। Wb-db.php फ़ाइल को डीबग किया गया। फिर मैंने .env में DB_HOST पंक्ति से # हटा दिया, और सब अच्छा है।
टॉम

@ टोम इस प्रयास करें tommcfarlin.com/installing-wp-cli-with-mamp इससे पहले कि आप होस्ट में बदलाव करें wp-config.php। यह काम करना चाहिए।
मारिया डैनियल दीपक

5

मेरे लिए, जवाब के लिए सेटिंग बदल रहा था DB_HOSTके 127.0.0.1:8889बजाय localhostमें wp-config.php, और भी MySQL सेटिंग में "MySQL के लिए नेटवर्क एक्सेस की अनुमति दें" बॉक्स की जाँच कर। MAMP प्रो डेटाबेस के लिए उपयोग कर रहा है कि पोर्ट के लिए सेट हो रही है महत्वपूर्ण लापता टुकड़ा है कि मैं यहाँ अन्य उत्तरों में नहीं देखा था। YMMV।


4

MAMP PHP बाइनरी का उपयोग करना सुनिश्चित करें। आप जाँच सकते हैं कि कौनसा PHP संस्करण WP CLI के साथ चल रहा है

php wp-cli.phar --info

नवीनतम MAMP PHP का उपयोग करने के लिए आपको अपने bash या zsh प्रोफ़ाइल को संशोधित करने की आवश्यकता है:

PHP_VERSION=$(ls /Applications/MAMP/bin/php/ | sort -n | tail -1)
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH

प्रोफ़ाइल पुनः लोड करना सुनिश्चित करें:

source ~/.bash_profile

सुनिश्चित करें कि परिवर्तन सही तरीके से लागू किए गए हैं:

  php wp-cli.phar --info

1
यह पहला कमांड सिर्फ त्रुटि देता हैCould not open input file: wp-cli.phar
फेलिक्स ईव

क्या आपने वर्डप्रेस रूट फ़ोल्डर में कमांड चलाया था?
1

हां, लेकिन WP निर्देशिकाwp-cli.phar की जड़ में कोई फ़ाइल नहीं है ।
फेलिक्स ईव

यहाँ आप wp-cli.phar को स्थापित करने के बारे में अधिक जानकारी प्राप्त कर सकते हैं: ( wp-cli.org )
eknows

2
@FelixEve स्थापना आप चले गए हैं के दौरान यदि wp-cli.pharतहत /usr/local/bin/wp, आप जारी कर सकते हैं wp --infoबजाय: दिखाया गया है PHP binaryअपने WP स्थापना के तहत एक होना चाहिए।
PJ_Finnegan

0

Step1: जांचें कि क्या आपका mysql सर्वर चल रहा है Step2: यदि हाँ तो आप mysql का उपयोग करके लॉग इन कर सकते हैं

mysql -u root -p

फिर अपना पासवर्ड दर्ज करें: (आपको टर्मिनल से इस कमांड का उपयोग करना होगा) फिर डेटाबेस को मौजूद रखने के लिए निम्न कमांड का उपयोग करें:

show databases;
grant all privileges on database_name.* to 'root'@'localhost' identified by 'password';
flush privileges;
exit;

अब wp-config.php फ़ाइल को संपादित करें और खोजें

define('DB_NAME', 'db_name');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');

अब सर्वर को फिर से शुरू करें और अपने वर्डप्रेस डैशबोर्ड में लॉगिन करने का प्रयास करें। मुझे उम्मीद है यह मदद करेगा।


"mysql -u root -p" मुझे देता है "उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करते हुए: YES) के लिए
अस्वीकृत

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

मैंने वही किया जो आपने लिखा है। "Mysql -u root -p" के साथ डेटाबेस से जुड़ सकते हैं। इसके अलावा विशेषाधिकार दिए गए हैं। लेकिन त्रुटि अभी भी है।
क्लेविस मिहो

1
मैंने पाया है कि अगर मैं अपने wp-config.php में लोकलहोस्ट को 127.0.0.1 में बदल देता हूं, तो सब कुछ ठीक रहता है ... मुझे ऐसा लगता है कि यहाँ एक बड़ी समस्या है
क्रेग वेन

1
वर्डप्रेस v3.6.9 और WP-CLI v1.5.1 @CraigWayne के समाधान की एक साफ स्थापना के साथ पूरी तरह से काम किया।
15

0

मेरे मामले में, उपरोक्त त्रुटि संदेश के अलावा, मुझे नीचे चेतावनी भी मिली:

PHP Warning:  mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Warning:  mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning:  mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning:  mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562

इस प्रश्न के अनुसार , यह समस्या इसलिए होती है क्योंकि MySQL 8.0 के लिए डिफ़ॉल्ट चारसेट है utfmb4

वास्तव में, मैं MySQL 5.7 से MySQL 8.0 में अपग्रेड करके त्रुटि को दोहरा सकता था

मैंने डेटाबेस निर्यात करके, MySQL 5.7 को अपग्रेड करके और डेटा को पुन: आयात करके समस्या को हल किया। मैंने मारियाडीबी 10.3 पर परीक्षण भी चलाया और यह ठीक काम करता है।


0

मेरे मामले में, मुझे यह करना था कि eknows ने उसके समाधान में क्या प्रस्तावित किया था ( https://wordpress.stackexchange.com/a/313862/172520 ) और निश्चित रूप से MySQL के लिए MySQL (MAMP प्रो का उपयोग करके) तक नेटवर्क पहुंच को सक्षम करना।


0

इसके दो भाग हैं जिन्हें एक साथ काम करने की आवश्यकता है:

- आपको अंत में पोर्ट नंबर से स्विच localhostकरने 127.0.0.1और जोड़ने की आवश्यकता है । मेरे लिए, यह था 127.0.0.1:3306

पोर्ट नंबर Mamp में MySQL पैनल में है।

यहाँ छवि विवरण दर्ज करें

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