簡體   English   中英

警告:mkdir():php中的權限被拒絕

[英]Warning: mkdir(): Permission denied in php

大家好,我正在嘗試為每個用戶創建一個文件夾,嘗試登錄到我的php應用程序,我在這里收到了該消息

和我的PHP代碼在這里

function createChatFolder($email) {
    if(!file_exists('../../conversation'.$email)){
        if(mkdir('../../conversation'.$email , 0777 ,true)){
            $myfile = fopen('/opt/lampp/htdocs/facebookMV/web/conversation/'.$email.'/status.xml', 'w+');
            if($myfile){
                $txt = '<?xml version="1.0"  encoding="utf-8"   ?>'.PHP_EOL.'<status>1</status>';
                fwrite($myfile, $txt);
                fclose($myfile);
            }else{
                echo 'there was an error while creating the status file';
            }
        }else{ 
            echo 'there was an error while creating thee '.$email.' folder ';
        }
    }
}

誰能告訴我問題出在哪里?NB:我正在使用UBUNTU 14.04,這是對話文件夾的模式

drwxr-xr-x 7 daemon daemon 4096 نوف 25 00:32 conversation

首先你需要改變
if(!file_exists('../../conversation'.$email)){ if(mkdir('../../conversation'.$email , 0777 ,true))

if(!file_exists('../../conversation/'.$email)){ if(mkdir('../../conversation/'.$email , 0777 ,true))

即,如果您想創建子文件夾。

然后,您需要確保為運行php的用戶(通常是www-data啟用了寫權限。

如果不確定,可以使用以下命令:

ps aux | egrep '(apache|httpd)'

確定運行哪個用戶apache。

使用chmod為所有用戶啟用對文件夾的寫權限很危險。

因此,您可以使用setfacl命令作為根用戶,如下所示。

setfacl -mu:www-data:w /path/to/conversation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM