以下の例では、uid は正しく 1234 に設定されていますが、gid は 1000 のままです (現在のユーザーは Linux です)。
本番環境では、この特定のスクリプトは root として実行されるため、問題なく動作します。しかし、vfsStream を使用してテストできるようにしたいと考えています。
vfsStream に root ユーザーを模倣するように指示する方法はないようです。なぜ chown が機能するのか、私は困惑していますが、chgrp は機能しません。
$structure = [
'etc' => [],
];
$root = vfsStream::setup('root', null, $structure);
$directory = $root->url() . '/etc/test';
mkdir($directory);
chown($directory, 1234);
chgrp($directory, 1234);
clearstatcache();
dd(stat($directory));