ruby — интерполяция в PHP для автоматизации шеф-повара

Привет я использую шеф-повар для автоматизации развертывания сайта WordPress, где мне нужно прочитать database, host, username а также password от моего shared.yml за wp-config.php поэтому я пытаюсь ниже код в моем файле шаблона

<?php
define('DB_NAME', '"<%= @database %>"');
define('DB_USER', '"<%= @username %>"');
define('DB_PASSWORD', '"<%= @password %>"');
define('DB_HOST', '"<% @host %>"');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
?>

однако интерполяция не происходит там, где она должна принимать фактические значения, которые определены в _shared.yml, Мои атрибуты в шеф-повар выглядит так, как показано ниже.

default[:example_wp][:database][:host]          = ""default[:example_wp][:database][:adapter]       = "mysql2"default[:example_wp][:database][:database]      = "wordpress"default[:example_wp][:database][:username]      = "wordpress"default[:example_wp][:database][:password]      = ""

Может ли кто-нибудь помочь с интерполяцией, что я пытаюсь.

Благодарю.

0

Решение

Итак, несколько проблем, во-первых, вам нужно убедиться, что вы передаете атрибуты в ресурс шаблона:

template '/whatever/wp-config.php' do
# Other stuff here ...
variables node[:example_wp][:database].to_hash
end

Во-вторых, как указано в комментариях, вы, вероятно, не хотите, чтобы в шаблоне были дополнительные двойные кавычки, иначе отображаемое значение будет выглядеть так: '"wordpress"',

В-третьих, я не уверен, что вы подразумеваете под shared.yml частично, это атрибуты узла или вы пытаетесь прочитать их из локального файла, и если последний, то откуда этот файл?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]