我从Opscode公司,并在发现厨师dotdeb菜谱安装了PHP食谱厨师dotdeb,这样我可以运行PHP 5.4的流浪汉框.
我想修改一些默认php.ini
设置.
根据厨师php cookbook的文档,我可以使用修改设置
node['php']['directives'] = {}
例如:
node['php']['directives'] = { :short_open_tag => 'Off' }
我已经webserver.rb
在我的应用程序cookbook中创建的脚本中进行了修改.当我配置或重新加载流浪盒时,php.ini
设置保持不变.
有什么想法有什么不对?
webserver.rb文件的内容是:
include_recipe"nginx"
include_recipe"php"
node.default ["php"] ["指令"] = {:short_open_tag =>'关'}
甚至当我删除dotdeb食谱,以便唯一的PHP东西来自官方的opscode php食谱它仍然不会更新任何ini值.
附加信息
我查看了opscode php cookbook中的代码,它实际上将指令注入到erb php.ini模板中:https: //github.com/opscode-cookbooks/php/blob/master/templates/ubuntu/php.ini. ERB
注入将指令追加到文件末尾的代码是:
<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> <%= "#{directive}=\"#{value}\"" %> <% end -%>
这总是空的{}
但是....如果我修改它...
<% node.default[:php][:directives].sort_by { |key, val| key }.each do |directive, value| -%> <%= "#{directive}=\"#{value}\"" %> <% end -%>
然后将指令注入模板中.我不是红宝石专家.这两个逻辑之间的根本区别是什么?