Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何授予symfony写入权限_Php_Linux_Symfony - Fatal编程技术网

Php 如何授予symfony写入权限

Php 如何授予symfony写入权限,php,linux,symfony,Php,Linux,Symfony,我这里有一张上传照片的表格。 起初我遇到了一个错误,因为symfony无法创建direcotry,所以我手动创建了它们 现在我得到了这个错误: Unable to write in the "/home/crixi/projects/symfony/src/Acme/TestBundle/Entity/../../../../web/uploads/picture" directory 我在用ubuntu 是否有任何设置需要我指定symfony righs在该文件夹中写入?如果您使用的是Ub

我这里有一张上传照片的表格。 起初我遇到了一个错误,因为symfony无法创建direcotry,所以我手动创建了它们

现在我得到了这个错误:

Unable to write in the "/home/crixi/projects/symfony/src/Acme/TestBundle/Entity/../../../../web/uploads/picture" directory 
我在用ubuntu


是否有任何设置需要我指定symfony righs在该文件夹中写入?

如果您使用的是Ubuntu,那么您的web用户将是
www-data
,而不是
apache
。这就是为什么当您更改apache权限时它不起作用的原因。您可以通过执行以下操作来正确执行此操作:

  • sudo chgrp-R www-data/home/crixi/projects/symfony/web/uploads
  • sudo chmod-rg+rwx/home/crixi/projects/symfony/web/uploads
  • 这将允许web用户(
    www-data
    )有适当的权限写入上载目录和子目录。这比给每个人写权限要好,因为在dev env中正确操作总是好的,这样在进行prod时就不会出现问题

    或者,正如@Wrikken所建议的,只需像这样使用
    chown

    sudo chown-R www-data/home/crixi/projects/symfony/web/uploads


    这取决于您希望如何管理权限。

    检查您的Web服务器运行的用户和组,检查目录的当前所有者和组是什么。2个基本选项:您
    chown
    将目录发送给Web服务器用户,或者您
    chgrp
    将目录发送给其组,并授予组对该目录的读/写/列出权限(
    g+rwx
    )。奇怪的是,apache似乎在
    根目录下运行。。。ev0l。。。。通常我会说先修复它……我只是修复了它,为“其他人”提供了写权限(我知道这不是一个好主意,但我现在只是处于开发模式,所以我想不会有什么不好的事情发生)。我不知道是什么原因,即使apache运行在root上,symfony也运行在
    其他
    上。谢谢您的帮助,请将其作为回复发布,以便能够选择它。