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 can’t contact the database server at `localhost`. This could mean your Host’s database server is down.
しかし、私はリンクでサイトを開くことができます: http:// localhost:8888/projectname
何か案が?
あなたのwp-config.php
に入り、あなたのDB_Host
をlocalhostの代わりに127.0.0.1
に変更してください。
コメントは上記のクレイグウェインに行きます。
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
私にとっては、答えは、DB_Host
の127.0.0.1:8889
の設定をlocalhost
ではなくwp-config.php
に変更し、さらにMySQLの設定で[MySQLへのネットワークアクセスを許可する]ボックスをチェックすることでした。 MAMP Proがデータベース用に使用しているポートにポートを設定することは、私がここで他の答えで見なかった重要な欠けている部分でした。 YMMV.
私の場合、彼のソリューションで提案されていることを実行する必要がありました( https://wordpress.stackexchange.com/a/313862/17252 )そしてもちろん、MacのMySQLへのネットワークアクセスを有効にします( MAMP Proを使用)。
私の場合は、前述のエラーメッセージ以外に、以下のような警告も表示されます。
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にダウングレードし、データを再インポートすることで問題を解決しました。 MariaDB 10.3でもテストを実行しましたが、問題なく動作します。
Step1:あなたの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');
今すぐサーバーを再起動し、あなたのワードプレスのダッシュボードにログインしてみてください。助けになれば幸いです。