问题描述
在尝试使用其他用户而不是www-data写入文件时遇到问题。 我需要将该文件保留在一个不是我的映射单元上,因此我无法更改该单元的权限。 Insetead我有一个用户名和一个用户组,我们称它们为“ myself”:“ myself”
我正在使用Symfony 5 Filesystem来移动文件,但是我仍然使用PHP的fopen来创建这些文件。这就是我到目前为止所拥有的。
private function moveAndDeleteFile($url_origin,$url_destiny)
{
$filesystem = new Filesystem();
$a = fopen($url_origin,'wa+');
fwrite($a,'Test');
fclose($a);
$filesystem->copy($url_origin,$url_destino,true);
if (!$filesystem->exists($url_destiny)) {
return false;
}
$filesystem->remove($url_origin);
return true;
}
这只是一个测试,所以我正在创建一个文件(名称包含在$ url_origin中),然后尝试将文件复制到$ url_destiny,然后删除原始文件(同样,只是一个测试)。
问题是该文件始终由www-data创建,对于我的目标目录,我需要将文件所有者设置为“我自己”。
有什么办法可以使用sudo更改文件所有者吗?
$filesystem->chown($url_origin,'myself',false);
这将返回错误->无法整理文件“ my / route / file.xml”
尝试时会发生相同的事情
$filesystem->chgrp($url_origin,false);
然后我尝试使用默认的PHP chown()函数,如下所示:
chown($url_origin,'myself');
并得到另一个错误:不允许操作。
我想我需要在某处指定用户的属性,但是我现在一无所知。关于如何实现这一目标的任何想法?我确定我缺少明显的东西。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)