我收到此错误:
警告:复制(/fullpathtofile/a4d3af69.jpeg)[function.copy]:无法打开流:第 31 行 /var/www/vhosts/site.com/httpdocs/application/controllers/WorkController.php 中的权限被拒绝
权限设置为 775。它只适用于 777,但我认为这不是我专用服务器上的社交网站的正确方法,这是一个安全问题,对吗?那是我唯一的解决办法吗?我预计 copy() 应该可以工作。
我收到此错误:
警告:复制(/fullpathtofile/a4d3af69.jpeg)[function.copy]:无法打开流:第 31 行 /var/www/vhosts/site.com/httpdocs/application/controllers/WorkController.php 中的权限被拒绝
权限设置为 775。它只适用于 777,但我认为这不是我专用服务器上的社交网站的正确方法,这是一个安全问题,对吗?那是我唯一的解决办法吗?我预计 copy() 应该可以工作。
Web 服务器用户没有足够的权限写入您要复制到的目录。
chmod
“目标”目录到777
.ls
会做)并查看哪个用户拥有它。chmod 755
会这样做)或该用户的组(在这种情况下chmod 775
会这样做)。什么权限设置为775?如果它是目标,你需要写权限,否则你不能写到那个位置?
您需要将 /fullpathtofile 的所有权设置为运行网络服务器的用户,其中的文件也是如此。从 PHP 保存的所有文件都将归该用户所有。我假设您正在将上传的文件保存到该目录:否则这适用于源和目标。
chown
运行 PHP 脚本的用户所拥有的相关目录(参见get_current_user())。
编辑:这是错误的,请参阅评论。您实际要使用的用户chown
是运行 Web 服务的用户。这通常是nobody
, apache
,www-data
等,通常可以用 来确定ps aux | grep httpd
。
如果您是专心致志的,那么777没有任何问题。
您必须检查所涉及的每个嵌套目录的权限和所有者。
ls -la
商场。