Điểm:3

Làm cách nào để sửa lỗi "Kết nối cơ sở dữ liệu được chỉ định không được xác định: mặc định"?

lá cờ cn

Tôi đã cài đặt PHP 7.4.21, sau đó là Drupal 9.2.1 và Drush 10.5.0 với Composer.

Chạy Drush mà không có đối số, tôi nhận được danh sách tất cả các lệnh có sẵn.
Đang chạy drush cr cho tôi lỗi sau.

Kết nối cơ sở dữ liệu được chỉ định không được xác định: mặc định

drush cr --root=/home/ip/d916/web đưa ra cùng một lỗi.

đầu ra của drush cr -vvv là sau đây.

dấu vết ngoại lệ

tại /home/ip/d916/web/core/lib/Drupal/Core/Database/Database.php:371
Drupal\Core\Database\Database::openConnection() tại /home/ip/d916/web/core/lib/Drupal/Core/Database/Database.php:169
Drupal\Core\Database\Database::getConnection() tại n/a:n/a
call_user_func_array() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:258
Drupal\Component\DependencyInjection\Container->createService() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:437
Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:240
Drupal\Component\DependencyInjection\Container->createService() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() tại /home/ip/d916/web/core/lib/Drupal/Core/Cache/ChainedFastBackendFactory.php:89
Drupal\Core\Cache\ChainedFastBackendFactory->get() tại /home/ip/d916/web/core/lib/Drupal/Core/Cache/CacheFactory.php:83
Drupal\Core\Cache\CacheFactory->get() tại n/a:n/a
call_user_func_array() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:258
Drupal\Component\DependencyInjection\Container->createService() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:437 Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:240
Drupal\Component\DependencyInjection\Container->createService() tại /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() tại /home/ip/d916/web/core/lib/Drupal/Core/DrupalKernel.php:586
Drupal\Core\DrupalKernel->preHandle() tại /home/ip/d916/web/core/includes/utility.inc:35
drupal_rebuild() tại /home/ip/d916/vendor/drush/drush/src/Commands/core/CacheCommands.php:234
Drush\Commands\core\CacheCommands->rebuild() tại n/a:n/a
call_user_func_array() tại /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:257
Hợp nhất\AnnotatedCommand\CommandProcessor->runCommandCallback() tại /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:212
Hợp nhất\AnnotatedCommand\CommandProcessor->validateRunAndAlter() tại /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:176
Hợp nhất\AnnotatedCommand\CommandProcessor-> process() tại /home/ip/d916/vendor/consolidation/annotated-command/src/AnnotatedCommand.php:311
Hợp nhất\AnnotatedCommand\AnnotatedCommand->execute() tại /home/ip/d916/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() tại /home/ip/d916/vendor/symfony/console/Application.php:1027
Symfony\Component\Console\Application->doRunCommand() tại /home/ip/d916/vendor/symfony/console/Application.php:273
Symfony\Component\Console\Application->doRun() tại /home/ip/d916/vendor/symfony/console/Application.php:149
Symfony\Component\Console\Application->run() tại /home/ip/d916/vendor/drush/drush/src/Runtime/Runtime.php:118
Drush\Runtime\Runtime->doRun() tại /home/ip/d916/vendor/drush/drush/src/Runtime/Runtime.php:48
Drush\Runtime\Runtime->run() tại /home/ip/d916/vendor/drush/drush/drush.php:72
require() tại /home/ip/d916/vendor/drush/drush/drush:4

Nhà soạn nhạc hoạt động mà không có bất kỳ lỗi nào. Drupal cũng hoạt động tốt. Thật không may, tôi không thể làm việc mà không có Drush 10.

Làm thế nào tôi có thể sửa lỗi Kết nối cơ sở dữ liệu được chỉ định không được xác định: mặc định lỗi?

miststudent2011 avatar
lá cờ fr
Bạn có thể chia sẻ chi tiết cơ sở dữ liệu từ settings.php của mình không. Có vẻ như bạn chưa cấu hình đúng cách
hotwebmatter avatar
lá cờ nr
Vui lòng chia sẻ đầu ra của `trạng thái drush`.
apaderno avatar
lá cờ us
Như lưu ý phụ: Các nhận xét trước đây đang yêu cầu cung cấp thông tin đó trong câu hỏi chứ không phải trong câu trả lời. Câu trả lời không được sử dụng để cung cấp thêm thông tin để trả lời câu hỏi. Các trang web Stack Exchange không phải là diễn đàn, mà là các trang web Hỏi & Đáp: Một người dùng đặt câu hỏi mà những người dùng khác trả lời.
Điểm:2
lá cờ nr

Bạn nói rằng Drupal hoạt động tốt. Bạn có thực sự muốn nói rằng trang web Drupal 9.2.1 của bạn có đầy đủ chức năng mà không cần kết nối cơ sở dữ liệu không? Điều đó thật đáng ngạc nhiên!

Bạn có thể bắt đầu bằng cách kết nối với môi trường này thông qua ssh và kiểm tra kết nối với cơ sở dữ liệu bằng dòng lệnh mysql tiện ích và thông tin đăng nhập xác thực cơ sở dữ liệu được lưu trữ trong cài đặt.php tập tin.

Nếu bạn nhận được kết nối thành công, hãy chạy một số lệnh chẩn đoán như SỬ DỤNG `drupal`; (thay thế drupal với tên DB được chỉ định trong cài đặt của bạn) và HIỂN THỊ BẢNG;CHỌN ĐẾM (*) TỪ `nút`; (chỉ cần hết sức cẩn thận để không đưa ra bất kỳ lệnh nào chèn, cập nhật hoặc xóa bất kỳ dữ liệu nào!)

Nếu Drupal thực sự có thể kết nối với cơ sở dữ liệu và bạn có thể kết nối theo cách này từ dòng lệnh, thì bạn đã thu hẹp vấn đề xuống Drush.

Bạn có thể đảm bảo rằng mình đang thực sự chạy đúng phiên bản dự án cục bộ của Drush 10 mà bạn đã cài đặt với Composer bằng cách thực thi cái gì tại dấu nhắc lệnh để xem liệu bạn có đang sử dụng Drush được cài đặt trên toàn cầu hay không, thậm chí có thể là một phiên bản khác.

Nếu đúng như vậy, vui lòng chỉ định đường dẫn đầy đủ đến Drush cục bộ của bạn để chắc chắn rằng bạn đang thực hiện đúng Drush PHAR:

$cd/nhà/ip/d916/
$ ./vendor/bin/trạng thái drush
$ ./vendor/bin/drush cr

Nếu các lệnh này phù hợp với bạn, thì bạn có các tùy chọn khác nhau tùy thuộc vào dịch vụ lưu trữ của mình. Các tài liệu drush rất xuất sắc và sẽ giúp bạn quyết định con đường chính xác phía trước.

apaderno avatar
lá cờ us
Cũng có thể Drush được thực thi từ sai thư mục và không tìm thấy tệp settings.php hoặc tìm thấy tệp settings.php không chứa thông tin kết nối cơ sở dữ liệu hoặc thông tin kết nối cơ sở dữ liệu chính xác. Điều này sẽ giải thích tại sao trang Drupal hoạt động nhưng Drush lại báo lỗi.
lá cờ cn
Drush là vấn đề. 10.5.0 đã tải xuống được gọi bằng bí danh không hoạt động với tôi. Sau khi chạy `composer require drush/drush` và `echo export PATH="$HOME/.composer/vendor/bin:$PATH` Tôi đã có phiên bản chính xác và cả Drush và Drupal đều hoạt động tốt.
LeraA avatar
lá cờ cz
Tôi muốn thêm trải nghiệm của mình ngày hôm nay vào câu hỏi/câu trả lời này. Tôi đã có chính xác cùng một vấn đề như được liệt kê trong câu hỏi, mặc dù câu trả lời cuối cùng của op không giải quyết được vấn đề đó cho tôi. Các bước bên trong câu trả lời nâng cao này DID trợ giúp. Tôi có thể thấy rằng bất kể tôi đã làm gì, tôi không thể kết nối với DB. Không ai trong số các đồng nghiệp của tôi có lỗi mà tôi mắc phải. Cuối cùng tôi đã bỏ toàn bộ repo và cài đặt lại nó. Cùng một mã, cùng các bước, cùng một tệp, không thay đổi thủ công, nhưng lần này kết nối DB đã hình thành. Các lệnh Drush đã hoạt động và trang web đã xuất hiện lần đầu tiên. Đi hình. Hy vọng điều này sẽ giúp người khác.
Điểm:1
lá cờ in

Nếu bạn có một tệp bổ sung với cài đặt cục bộ của mình, chẳng hạn như cài đặt.local.php, kiểm tra xem nó có được đặt trong đúng thư mục không.

Trong trường hợp này, nó phải ở trong trang web/mặc định/ thư mục, không có trong trang web / thư mục gốc.Nhiều khả năng lỗi là do tệp cấu hình bị đặt sai vị trí.

Nếu đó không phải là trường hợp, hoặc bạn chỉ có một cài đặt.php, hãy kiểm tra xem bạn có cấu hình hợp lệ cho cơ sở dữ liệu của mình trong cơ sở dữ liệu $[][] trong đó, đối với trang "mặc định", nó phải được đặt tên là "$databases['default']['default']" và phải chứa tất cả thông tin cơ sở dữ liệu của bạn.

Ví dụ:

## cài đặt cơ sở dữ liệu
$databases['default']['default'] = [
  'cơ sở dữ liệu' => 'drupal9',
  'tên người dùng' => 'drupal9',
  'mật khẩu' => 'drupal9',
  'tiền tố' => '',
  'máy chủ' => 'cơ sở dữ liệu',
  'cổng' => '3306',
  'không gian tên' => 'Drupal\Core\Database\Driver\mysql',
  'trình điều khiển' => 'mysql',
];

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.