我正在使用Symfony2开发一个应用程序。我的问题是,当创建一个文件夹throe实体中的功能时,创建的文件夹没有sudo权限,我想知道如何直接使用sudo权限创建文件夹。这是我的代码:
protected function getUploadDirMark()
{
// get rid of the __DIR__ so it doesn't screw when displaying uploaded doc/image in the view.
return 'uploads/documents/'.$this->getIzenburua();
}
'uploads/documents/'.$this->getIzenburua();
文件夹没有sudo权限,如何使用sudo权限创建它。感谢。
答案 0 :(得分:1)
如果常规chmod
PHP函数不起作用,您可以使用sudo权限执行chmod
shell命令。
这就是你的Command类中的样子:
$uploadDirmark = $this->getUploadDirMark();
$dialog = $this->getHelperSet()->get('dialog');
$passwd = $dialog->ask($output, 'Please enter sudo password');
exec("echo $passwd | sudo -S chmod -R a+w $uploadDirmark");
这将使目录及其所有内容可写(并且可删除)给所有用户。根据需要修改命令(有关详细信息,请参阅命令行上的man chmod
)。像这样打开它是有潜在危险的,尝试将Web服务器放在与创建文件的用户相同的组中,并使用“g + w”而不是“a + w”。
答案 1 :(得分:0)
答案 2 :(得分:0)
为什么你需要sudo权限呢?由于您的应用程序由特定用户下的服务器运行,因此在提供它创建的文件或文件夹时没有任何问题。