WP CLI Lỗi Lỗi khi thiết lập kết nối cơ sở dữ liệu trong máy chủ localhost (MAMP)


13

Tôi gặp lỗi này khi tôi cố gắng tạo một cái gì đó với 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.

Nhưng tôi có thể mở trang web bằng liên kết: http: // localhost: 8888 / projectname

Bất kỳ ý tưởng?

Câu trả lời:


27

Đi vào của bạn wp-config.phpvà thay đổi của bạn DB_HOSTđể 127.0.0.1thay vì localhost.

Tín dụng cho Craig Wayne ở trên trong các ý kiến.


2
Trong MAMP Pro tôi cũng phải kiểm tra "Cho phép truy cập mạng vào MySQL" để điều này hoạt động.
Nick M

Tôi đã thử điều này nhưng không có sự giúp đỡ. Tôi đang sử dụng nồi hơi Bedrock. Tôi đã lặp đi lặp lại tập tin wp-config và .env, lặp đi lặp lại cấu hình MAMPs. Gỡ lỗi tệp wb-db.php. Sau đó, tôi đã xóa # khỏi hàng DB_HOST trong .env và tất cả đều tốt.
Tom

@ Tom Hãy thử điều này tommcfarlin.com/installing-wp-cli-with-mamp trước khi bạn thay đổi các máy chủ trong wp-config.php. Nó nên hoạt động.
Maria Daniel Deepak

4

Hãy chắc chắn sử dụng nhị phân MAMP PHP. Bạn có thể kiểm tra phiên bản PHP WP CLI đang chạy với

php wp-cli.phar --info

Để sử dụng MAMP PHP mới nhất, bạn cần sửa đổi hồ sơ bash hoặc zsh của mình:

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

Đảm bảo tải lại hồ sơ:

source ~/.bash_profile

Đảm bảo rằng các thay đổi được áp dụng chính xác:

  php wp-cli.phar --info

1
Lệnh đầu tiên đó chỉ đưa ra lỗiCould not open input file: wp-cli.phar
Felix Eve

Bạn đã chạy lệnh trong thư mục gốc wordpress?
biết

có, nhưng không có wp-cli.phartập tin trong thư mục gốc của thư mục WP .
Đêm giao thừa

Ở đây bạn có thể tìm thêm thông tin làm thế nào để cài đặt các tập tin wp-cli.phar: ( wp-cli.org )
eknows

2
@FelixEve nếu trong quá trình cài đặt bạn đã chuyển wp-cli.phardưới /usr/local/bin/wp, bạn có thể phát hành wp --infothay vì: các hiển thị PHP binarynên là một trong cài đặt WP của bạn.
PJ_Finnegan

4

Đối với tôi, câu trả lời là thay đổi cài đặt DB_HOSTthành 127.0.0.1:8889thay vì localhosttrong wp-config.phpvà cũng chọn hộp "Cho phép truy cập mạng vào MySQL" trong cài đặt MySQL. Đặt cổng được đặt thành cổng mà MAMP Pro đang sử dụng cho cơ sở dữ liệu là phần còn thiếu quan trọng mà tôi không thấy trong các câu trả lời khác ở đây. YMMV.


0

Bước 1: kiểm tra xem máy chủ mysql của bạn có đang chạy Bước 2 không: nếu có thì bạn có thể đăng nhập vào mysql bằng cách sử dụng

mysql -u root -p

sau đó nhập mật khẩu của bạn: (bạn phải sử dụng lệnh này từ thiết bị đầu cuối) sau đó sử dụng lệnh sau để đảm bảo rằng cơ sở dữ liệu tồn tại:

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

Bây giờ chỉnh sửa tệp wp-config.php và tìm kiếm

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

Bây giờ khởi động lại máy chủ và cố gắng đăng nhập vào bảng điều khiển wordpress của bạn. Tôi hy vọng nó sẽ giúp.


"mysql -u root -p" cung cấp cho tôi "Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu: CÓ)"
Klevis Miho

Khi bạn thiết lập cơ sở dữ liệu mysql của mình, bạn phải nhập mật khẩu. Sử dụng mật khẩu đó. Nếu bạn không định cấu hình mật khẩu tại thời điểm cơ sở dữ liệu mysql được thiết lập, chỉ cần nhấn enter thay vì bất kỳ mật khẩu nào.
maverick

Tôi đã làm những gì bạn viết. Có thể kết nối với cơ sở dữ liệu bằng "mysql -u root -p". Ngoài ra các đặc quyền được cấp. Nhưng lỗi vẫn còn đó.
Klevis Miho

1
Tôi đã thấy rằng nếu tôi thay đổi localhost thành 127.0.0.1 trong wp-config.php của mình, mọi thứ đều hoạt động tốt ... tôi cảm thấy như có một vấn đề lớn hơn ở đây
Craig Wayne

1
Với bản cài đặt sạch WordPress v3.6.9 và giải pháp WP-CLI v1.5.1 @CraigWayne đã hoạt động hoàn hảo.
giữa

0

Trong trường hợp của tôi, ngoài thông báo lỗi đã nói ở trên, tôi cũng nhận được các cảnh báo bên dưới:

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

Theo câu hỏi này , vấn đề này xảy ra vì bộ ký tự mặc định cho MySQL 8.0 là utfmb4.

Trên thực tế, tôi có thể sao chép lỗi bằng cách nâng cấp từ MySQL 5.7 lên MySQL 8.0

Tôi đã giải quyết vấn đề bằng cách xuất cơ sở dữ liệu, hạ cấp xuống MySQL 5.7 và nhập lại dữ liệu. Tôi cũng đã chạy thử nghiệm trên MariaDB 10.3 và nó hoạt động tốt.



0

Có hai phần trong số này cần phải làm việc cùng nhau:

- Bạn cần chuyển từ localhostsang 127.0.0.1và thêm số cổng ở cuối. Đối với tôi, nó là 127.0.0.1:3306.

Số cổng nằm trong bảng điều khiển MySQL trong Mamp.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.