Tôi đang thiết lập phân tách cấu hình với Drupal 9 và gặp phải kết quả không mong muốn.
Không có phần tách nào của tôi được đánh dấu là Đang hoạt động trong cấu hình đang hoạt động hoặc cấu hình đã xuất YAML.
Tôi muốn đặt phân chia cục bộ mặc định trong cài đặt.php
và sau đó sử dụng cài đặt.local.php
ghi đè lên nó nhà phát triển
, stg
, prd
môi trường.
Môi trường phát triển cục bộ của tôi là DDEV-Local v1.17.5. Ba môi trường từ xa đều được thiết lập trên một máy chủ từ xa trong AWS riêng của khách hàng, trong ba Máy chủ ảo Apache khác nhau.
Tôi không thể sử dụng các biến môi trường để phân biệt nhà phát triển
, stg
, prd
môi trường vì tất cả chúng đều nằm trên một máy chủ. Đó là một thách thức khi phân biệt các môi trường mà không có các biến môi trường Acquia hoặc Pantheon thông thường.
(Lưu ý: Tôi hiểu nếu config_split
không có chủ đề ở đây vì nó không phải là mô-đun cốt lõi. Tôi đã tạo một hàng đợi vấn đề trên Drupal.org, nhưng tôi vẫn hy vọng rằng ai đó sẽ thấy câu hỏi ở đây và cung cấp thông tin chi tiết.)
Đây là ghi đè mặc định trong cài đặt.php
:
$config['config_split.config_split.local']['status'] = TRUE;
$config['config_split.config_split.prd']['status'] = FALSE;
$config['config_split.config_split.stg']['status'] = FALSE;
$config['config_split.config_split.dev']['status'] = FALSE;
Càng xa càng tốt. Phân chia cục bộ là "đang hoạt động (được ghi đè)".
Mọi thứ trở nên kỳ lạ khi tôi chỉnh sửa phần này để kích hoạt một phần tách khác trong môi trường Cục bộ của mình:
$config['config_split.config_split.local']['status'] = FALSE;
$config['config_split.config_split.prd']['status'] = TRUE;
$config['config_split.config_split.stg']['status'] = FALSE;
$config['config_split.config_split.dev']['status'] = FALSE;
Sau khi chỉnh sửa cài đặt.php
(và xóa bộ nhớ cache, tất nhiên) phân chia Sản xuất là "hoạt động (ghi đè)", như mong đợi.
Thật không may, việc phân tách cục bộ cũng "hoạt động (ghi đè)" mặc dù đã đặt ['trạng thái'] = SAI;
,
Mọi thứ trở nên kỳ lạ hơn khi tôi cố gắng phủ định một cách hợp lý các giá trị của tất cả các phần tách:
$config['config_split.config_split.local']['status'] = FALSE;
$config['config_split.config_split.prd']['status'] = TRUE;
$config['config_split.config_split.stg']['status'] = TRUE;
$config['config_split.config_split.dev']['status'] = TRUE;
Bây giờ, sự phân chia cục bộ là vẫn "hoạt động (ghi đè)" mặc dù đã đặt ['trạng thái'] = SAI;
,
Sự phân chia Giai đoạn và Sản xuất là "hoạt động (được ghi đè)" để phù hợp với chúng ['trạng thái'] = TRUE;
,
Và Dev split vẫn "không hoạt động" mặc dù đã cài đặt ['trạng thái'] = TRUE;
,
Bất cứ ý tưởng những gì đang xảy ra ở đây?