Я пишу код для преобразования комментариев disqus в систему HashOver, и у меня есть такой код:
// $threads is list of threads from disqus api that I cached on disk
foreach ($threads as $thread) {
$dir_name = getSafeThreadName(preg_replace("%^https?://[^/]+%", "", $thread['link']));
$dir = 'threads/' . $dir_name;
if (!is_dir($dir)) {
mkdir($dir);
chmod($dir, 0774);
}
// ...
// $thread_posts are $post that belong to $thread
foreach($thread_posts as $post) {
$xml = new SimpleXMLElement('<comment/>');
// ...
// $name_arr is array of numbers for HashOver comments
$fname = $dir . '/' . implode('-', $name_arr) . ".xml";
$f = fopen($fname, 'w');
fwrite($f, $xml->asXML());
fclose($f);
chmod($fname, 0664);
}
}
он создал каталог для каждого из моих сообщений в темах, которые читаются / пишутся свладелец apache:apache
и внутри есть файлы типа 1.xml
с владельцем root:root
почему root:root
?Как я могу сделать это apache:apache
?
РЕДАКТИРОВАТЬ:
Это не дубликат, я не хочу менять разрешение на apache:apache
с root:root
, что можно сделать с помощью chown
, но я хочу сделать так, чтобы оно не менялось на root:root
, во-первых, я также хочу знать, почему оно изменилось на root:root
.Это похоже на ошибку в php или apache для меня или некоторую неправильную конфигурацию в apache на моей стороне.Я не думаю, что это код, так как он просто открывает, пишет и закрывает файл.