Apply nested attributes one at a time - they are *not* merged on write

Chef does not merge hash attributes on write, only between the
different levels of precedence. Setting eg
node.default['php']['directives'] = {
  'some value' => 'to merge'
}

will in fact leave you with *only* this value at the default
precedence level.