[英]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.