我正在使用Apache WebServer而不是内置的webserver运行Symfony,以便按照官方说明从dev切换到生产环境: https://symfony.com/doc/current/setup/web_server_configuration.html
当我尝试将图片上传到我的网站文件夹时,我得到了
Unable to write in the
"/var/www/html/site/src/../public/front/cms/explanatory_rubric" directory
当我使用Symfony内置服务器运行时,使用端口8000它正在工作,我的文件夹是可写的。 我知道Apache Permissions有问题。关于这一点有很多问题,我仔细阅读了每一个问题,特别是this one,解释了有关Apache的文件权限的良好做法,以及this one,this one,this one ,和this one等
当我检查我的chmod所有者不可写文件夹时,我得到:
ls -l
total 4
drwxr-xr-x 3 root www-data 4096 Jun 1 11:38 explanatory_rubric
我将文件夹的chmod所有者从www-data更改为root以给出 写权限。
我还尝试通过我的Apache配置文件授予权限。
这是我对SSL的Apache配置:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.mysite.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/site/public>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
<Directory /var/www/html/site/public/front/cms/explanatory_rubric>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
答案 0 :(得分:1)
解决: 我将ubuntu中的chown更新为www-data,并将chmod权限授予特定文件夹: 我还注意到 symfony / apache-pack 包中的 index.php 我们可以 找到一个 umask(000),这可能是我烦恼的根源
我的解决方法是:
chown www-data:www-data -R /my/folder # with Apache2
chown apache:apache -R /my/folder # with Apache
chmod -R 777 /my/folder