WP CLI localhost'ta (MAMP) “Veritabanı bağlantısı kurulurken hata”


13

WP CLI ile bir şey oluşturmaya çalıştığımda bu hatayı alıyorum:

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.

Ancak siteyi şu bağlantıyla açabilirim: http: // localhost: 8888 / projectname

Herhangi bir fikir?

Yanıtlar:


27

SİZİN gidin wp-config.phpve sizin değiştirmek DB_HOSTiçin 127.0.0.1yerine localhost.

Kredi yukarıdaki yorumlarda Craig Wayne'e gidiyor.


2
MAMP Pro da bunun çalışması için "MySQL ağ erişimine izin ver" kontrol etmek zorunda kaldı.
Nick M

Bunu denedim ama yardım yok. Bedrock kazan plakasını kullanıyorum. Wp-config ve .env dosyasını tekrar tekrar gittim, MAMPs yapılandırmalarını tekrar tekrar gittim. Wb-db.php dosyasında hata ayıklandı. Sonra # .env DB_HOST satırdan kaldırıldı ve her şey iyi.
Tom

@Tom Ana bilgisayarı değiştirmeden önce bu tommcfarlin.com/instal-wp-cli-with-mamp öğesini deneyin wp-config.php. İşe yaramalı.
Maria Daniel Deepak

5

Benim için, cevap için ayarı değişiyordu DB_HOSTiçin 127.0.0.1:8889yerine localhostde wp-config.phpve aynı zamanda MySQL ayarlarında "MySQL ağ erişime izin ver" kutusunu işaretleyerek. MAMP Pro'nun veritabanı için kullandığı bağlantı noktasına ayarlanan bağlantı noktasını almak, burada diğer yanıtlarda görmediğim kritik eksik parçaydı. YMMV.


4

MAMP PHP ikili dosyasını kullandığınızdan emin olun. Hangi PHP Sürümü WP CLI ile çalıştığını kontrol edebilirsiniz

php wp-cli.phar --info

En son MAMP PHP'yi kullanmak için bash veya zsh profilinizi değiştirmeniz gerekir:

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

Profili yeniden yüklediğinizden emin olun:

source ~/.bash_profile

Değişikliklerin doğru uygulandığından emin olun:

  php wp-cli.phar --info

1
Bu ilk komut sadece hata veriyorCould not open input file: wp-cli.phar
Felix Eve

Komutu wordpress kök klasöründe çalıştırdınız mı?
eknows

evet, ancak WP dizininin kökündewp-cli.phar dosya yok .
Felix Eve

Wp-cli.phar'ı nasıl kuracağınız hakkında daha fazla bilgiyi burada bulabilirsiniz: ( wp-cli.org )
eknows

2
@FelixEve wp-cli.pharaltında taşıdığınız kurulum sırasında bunun yerine /usr/local/bin/wpsorun yaşayabilirsiniz wp --info: görüntülenen PHP binary, WP kurulumunuzun altındaki görüntü olmalıdır.
PJ_Finnegan

0

Adım 1: MySQL sunucunuzun çalışıp çalışmadığını kontrol edin 2.Adım: Evet ise o zaman kullanarak MySQL oturum açabilirsiniz

mysql -u root -p

ardından şifrenizi girin: (bu komutu terminalden kullanmanız gerekir) ve ardından veritabanının var olduğundan emin olmak için aşağıdaki komutu kullanın:

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

şimdi wp-config.php dosyasını düzenleyin ve

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

Şimdi sunucuyu yeniden başlatın ve wordpress kontrol panelinize giriş yapmayı deneyin. Umut ediyorum bu yardım eder.


"mysql -u root -p" bana "root" @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanarak: YES) "
Klevis Miho

mysql veritabanınızı kurarken bir parola girmiş olmanız gerekir. O şifreyi kullan. Mysql veritabanı kurulumu sırasında şifreyi yapılandırmadıysanız, herhangi bir şifre yerine enter tuşuna basmanız yeterlidir.
maverick

Yazdıklarını ben yaptım. "Mysql -u root -p" ile veritabanına bağlanabilir. Ayrıca imtiyazlar da verilmiştir. Ama hata hala orada.
Klevis Miho

1
Ben wp-config.php içinde localhost 127.0.0.1 olarak değiştirirseniz, her şey iyi çalışıyor ... Ben burada daha büyük bir sorun olduğunu hissediyorum
Craig Wayne

1
WordPress v3.6.9 ve WP-CLI v1.5.1'in temiz kurulumu ile @CraigWayne çözümü mükemmel çalıştı.
betweenbrain

0

Benim durumumda, yukarıda belirtilen hata mesajının yanı sıra aşağıdaki uyarıları da aldım:

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

Bu soruya göre , bu sorun, MySQL 8.0 için varsayılan karakter kümesi olduğu için oluşur utfmb4.

Aslında, MySQL 5.7'den MySQL 8.0'a yükselterek hatayı çoğaltabilirim

Veritabanını dışa aktararak, MySQL 5.7 sürümüne geçerek ve verileri tekrar içe aktararak sorunu çözdüm. Ayrıca MariaDB 10.3 üzerinde testler yaptım ve iyi çalışıyor.



0

Bunun birlikte çalışması gereken iki kısmı var:

- Sen geçmek gerekir localhostetmek 127.0.0.1ve sonunda port numarasını ekleyin. Benim için öyleydi 127.0.0.1:3306.

Bağlantı noktası numarası Mamp'teki MySQL panelindedir.

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.