mkdir()权限被拒绝了codeigniter

时间:2016-04-29 09:35:29

标签: php macos codeigniter

我正在尝试使用PHP mkdir函数创建一个目录,但是我收到如下错误: 警告:mkdir():第122行/Applications/XAMPP/xamppfiles/htdocs/tiki-id/system/core/Log.php中的权限被拒绝

这是第122行:

file_exists($this->_log_path) OR mkdir($this->_log_path, 0777, TRUE);

我将temp_sess文件夹放在'Mac / XAMPP / xamppfiles / htdocs / tiki-id / temp_sess'上

和我的config.php:

$config['sess_save_path'] = './temp_sess/';

我的temp_sess文件夹:

temp_sess info folder

我做错了什么?

我在mac,web服务器上xampp ..

4 个答案:

答案 0 :(得分:1)

第一次$this->log_path路径不存在

1->转到application/config/config.php并检查log_path。默认情况下,log_path = application/logs/

/*
  |--------------------------------------------------------------------------
  | Error Logging Directory Path
  |--------------------------------------------------------------------------
  |
  | Leave this BLANK unless you would like to set something other than the default
  | application/logs/ directory. Use a full server path with trailing slash.
  |
 */
$config['log_path'] = '';

2->在logs内创建一个名为application的新文件夹

3->向logs文件夹授予权限777(命令:chmod 777 logs

希望它会起作用。

答案 1 :(得分:0)

只是为了确认,遇到了同样的问题,但问题是我们设置了$config['log_path'] = {无法找到的路径}。我们添加了路径并更新了权限,错误消失了。

答案 2 :(得分:-1)

检查文件夹权限。它是写保护的。尝试授予该文件夹777权限

答案 3 :(得分:-1)

  1. 检查您如何命名目标文件夹,例如:new_folder(有时这可能会导致权限错误,因为大多数主机不允许在运行时使用下划线,短划线等创建名称)。它对我有用。
  2. 如果您使用递归命令创建子文件夹,请不要忘记将0777放入mkdir命令,例如:

    if(!file_exists($output)){
        if (!mkdir($output, 0777, true)) {//0777
            die('Failed to create folders...');
        }
    
    }
    
  3. 这对我来说也很有用。