【问题标题】:make directory in ubuntu16.04在 ubuntu 16.04 中创建目录
【发布时间】:2018-08-22 12:38:09
【问题描述】:

我正在尝试使用函数 mkdir() 在 PHP 中创建一个目录,但它会引发警告 mkdir(): Permission denied。

我试过下面的代码

     function makeDir()
     {
         $foldername = "/home/administrator/Downloads/pdfs/";
         $oldmask = umask(0);
         mkdir($foldername, 0777);
         umask($oldmask);
     }

如何在有权限的情况下创建新目录?谢谢。

【问题讨论】:

  • 你需要目标目录的写权限
  • @SrThompson 如何在目标目录中赋予权限??
  • chmod -R 777 /home/administrator/Downloads

标签: php ubuntu mkdir


【解决方案1】:

您的网络服务器以哪个用户身份运行?写出来就知道了。

ps aux

然后看看。可能是用户 www-data(如果您使用 Ubuntu)。

然后您将目录分配给该用户并授予用户对该目录的写入权限。

chown www-data /var/www/

chmod u+w /var/www/

另一种方法是使用组权限。

chgrp www-data /var/www/

chmod g+w /var/www/

假设 Web 服务器作为 www-data 组运行。

或者

您可以按照以下步骤操作:

数字权限可以解决您的问题。

sudo chmod 775 'your directory'

如果你想知道为什么这里只有 775 是你的答案

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

它将授予除任何人写入之外的所有权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-27
    • 2017-06-10
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    相关资源
    最近更新 更多