Nu trebuie să excludeți cheile API de la export; în schimb, le puteți seta în cod și apoi nu contează ce este exportat. (...probabil. Unele module nu vor funcționa cu această abordare.)
Puteți suprascrie configurația direct în setări.php
.
Iată un exemplu cu modul Swiftmailer preluat de pe unul dintre site-urile mele.
swiftmailer.transport.yml
transport: smtp
smtp_host: smtp.example.com
smtp_port: 465
smtp_encryption: ssl
smtp_credential_provider: swiftmailer
smtp_credentials:
swiftmailer:
nume de utilizator: ''
parola: ''
sendmail_path: /usr/sbin/sendmail
sendmail_mode: bs
spool_directory: ''
_nucleu:
default_config_hash: RSNbRD3ekSaZoE19f3eHhm93gKOcD2PtmaAVmV3XMes
cod limba: ja
Acum vreau să folosesc o cheie API diferită pentru dev + producție. Deci, în setări.php
, am setat manual configurația:
$config['swiftmailer.transport']['smtp_credentials']['swiftmailer']['username'] = 'apikey';
$config['swiftmailer.transport']['smtp_credentials']['swiftmailer']['parola'] = 'ABCDEFGHIJKLMNOP'
În cazul meu, folosesc un comutator pentru a detecta o variabilă de mediu (live, test, dev etc.) pentru că așa face gazda Pantheon, dar puteți face același lucru cu settings.local.dev.php
fișiere.
Configurare în setări.php
nu va fi niciodată exportat; drush îl va ignora. Cu toate acestea, Drupal va da întotdeauna prioritate setului de configurare în cod .yml
fișiere. Ca urmare, dacă trebuie să modificați acest lucru, va trebui să actualizați codul în sine; nu veți mai putea face modificări din interfața de utilizare.
De asemenea, rețineți că este o potențială problemă de securitate să verificați cheile API în controlul versiunilor astfel.
The Modul de modificare a configurației adaugă un avertisment la ecranele de administrare care vă reamintește că suprascrieți valorile din cod.
Dacă securitatea este o problemă, există Lockr modul, care a fost creat special pentru a gestiona cazul de utilizare al jonglarii cheilor API, dar trebuie să plătiți pentru asta.