[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

使用共用設定的範例

此範例說明如何在開發系統中變更下列設定、更新組建系統中的共用組態檔config.php,以及在生產系統中實作相同的設定:

  • 時區
  • 重量單位

這些設定可在​ 商店 >設定> 設定 >一般> 一般 ​中的管理員中使用。

您可以使用相同的程式來設定下列參照中任何非敏感的、非系統特定的設定:

開始之前

開始之前,請設定檔案系統許可權和擁有權,如開發、建置和生產系統的先決條件中所述。

假設

本主題提供修改生產系統組態的範例。 您可以視需要選擇不同的組態選項。

在本範例中,我們假設如下:

  • 您使用Git原始檔控制
  • 開發系統可在名為mconfig的Git遠端存放庫中取得
  • 您的Git工作分支名為m2.2_deploy

步驟1:在開發系統中設定設定

若要設定開發系統中的時區和加權單位:

  1. 登入管理員。

  2. 按一下​ 商店 >設定> 組態 >一般> 一般

  3. 在右窗格中,展開​ 地區設定選項

    下圖顯示一個範例。

    在開發系統中設定地區設定選項

  4. 從​ 時區 ​清單,按一下​ GMT+00:00 (UTC)

  5. 清除​ 加權單位 ​欄位旁的​ 使用系統值 ​核取方塊。

  6. 從​ 重量單位 ​清單,按一下​ 公斤

  7. 按一下​ 儲存設定

  8. 如果出現提示,請排清快取。

步驟2:更新共用設定

依照本節所述,在您的開發系統中產生共用組態檔app/etc/config.php,並使用原始檔控制將其傳輸至您的組建系統。

若要更新組態

  1. 以檔案系統擁有者的身分登入或切換到您的開發系統。

  2. 變更至應用程式根目錄,然後執行傾印命令。

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    例如,如果Commerce安裝在/var/www/html/magento2中,請輸入:

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. 確認app/etc/config.php已更新。

    code language-bash
    git status
    

    範例回應:

    code language-none
    On branch m2.2_deploy
    Changed but not updated:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
           modified:   app/etc/config.php
    
    note warning
    WARNING
    請​_不_​將變更提交至generatedpub/mediapub/static目錄至原始檔控制。 您會在建置系統上產生這些檔案。 開發系統可能有程式碼、主題等未準備好用於生產系統的專案。
  4. 只將您對app/etc/config.php的變更籤入至原始檔控制。

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

步驟3:更新您的建置系統並產生檔案

現在您已確認將共用組態的變更提交至原始檔控制,您可以在建置系統中提取這些變更、編譯程式碼,並產生靜態檔案。 最後一個步驟是將這些變更提取至您的生產系統。 因此,您的生產系統的設定將與您的開發系統相符。

若要更新組建系統

  1. 以檔案系統擁有者的身分登入組建系統。

  2. 變更至應用程式根目錄。

    code language-bash
    cd <Magento root dir>
    
  3. 從原始檔控制提取變更到app/etc/config.php

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. 編譯程式碼。

    code language-bash
    bin/magento setup:di:compile
    
  5. 編譯程式碼之後,產生靜態檢視檔案。

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. 檢查原始檔控制中的變更。

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

步驟4:更新生產系統

該流程的最後一步是從原始檔控制更新您的生產系統。 這會提取您在開發和建立系統時所做的所有變更,這表示您的生產系統完全處於最新狀態。

若要更新生產系統

  1. 以檔案系統擁有者的身分登入生產系統。

  2. 變更為應用程式根並啟用維護模式。

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    如需其他選項,例如設定IP位址白名單的功能,請參閱magento maintenance:enable

  3. 透過在cron_run中將false設定為app/etc/env.php來停止任何執行中的佇列背景工作,如下所示:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. 更新設定。

    code language-bash
    bin/magento app:config:import
    
  5. 最後,kill任何使用中的消費者處理序。

    code language-bash
    kill <PID>
    

    其中PID是要終止的處理序識別碼,例如:

    code language-bash
    kill 1234
    
  6. 從原始檔控制提取程式碼。

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. 更新設定。

    code language-bash
    bin/magento app:config:import
    
  8. 清除快取。

    code language-bash
    bin/magento cache:clean
    
  9. 結束維護模式。

    code language-bash
    bin/magento maintenance:disable
    

驗證管理員中的變更

若要確認這些設定在Admin ​中不可編輯:

  1. 登入管理員。

  2. 按一下​ 商店 >設定> 組態 >一般> 一般

  3. 在右窗格中,展開​ 地區設定選項

    您剛才設定的選項顯示如下:

    在Admin 中無法編輯 設定選項

INFO
若要變更在Admin中鎖定的設定,請使用magento config:set --lock命令
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c