我试图在php中使用chmod函数暂时将权限更改为777,上传文件然后将其更改回755.但它不起作用,因为它不允许我使用chmod函数通过php。
if(chmod($path, 0777) ) {
if(!move_uploaded_file($oldfile, $newfileloc)) {
return false;
}
chmod($path, 0755);
return true;
}
else
return false;
我让它在我以前的服务器上工作,并为该文件夹提供了755个权限。
我不确定权限是如何工作的,所以请帮助,谢谢!
修改 我的 / var / www 文件夹应具有哪些权限才能使Web服务器可以写入文件?
编辑2: 好的,我想到了这一点。我只需要授予www-data:www-data权限,以确保webserver具有所有必需的权限。 但是,我得到的问题是,当我/ var / www已经显示 www-data:www-data 时,php函数工作正常但我在使用时收到权限被拒绝错误FileZilla中。所以我现在每次需要通过FileZilla传输内容然后再返回 www-data:www-data 来更改 root:www-data 的权限以确保我的网络服务器工作正常。有人得到了解决方案吗?
答案 0 :(得分:1)
你可以给予755许可。但您必须更改/ var / www /文件夹的所有者和组。它应该具有www-data的所有权和组所有权。首先检查哪个用户拥有此文件夹的所有权和组所有权。运行以下命令。
ll / var / www /
如果它具有root访问权限,那么它将如下所示。
drwxr-XR-X。 2 root root 23 Mar 21 17:33 html
使用以下命令将所有者和群组所有者更改为www-data用户。
chown -R www-data:www.data / var / www
您可以保留文件夹权限755. -R 选项用于递归地向其子文件夹和文件提供权限。