1

我正在使用 Symfony2 开发应用程序。我遇到的问题是,当在实体中通过函数创建文件夹时,创建的文件夹没有 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 权限创建它。谢谢。

4

3 回答 3

1

如果常规的chmodPHP 功能不起作用,您可以chmod使用 sudo 权限执行 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”。

于 2012-08-03T10:01:37.433 回答
0

这不行吗? chmod()

于 2012-05-07T15:15:36.953 回答
0

为什么你需要 sudo 权限呢?由于您的应用程序是由特定用户下的服务器运行的,因此在提供它创建的文件或文件夹时不会有任何问题。

于 2012-05-07T16:00:24.813 回答