У меня есть следующий скрипт для загрузки файлов. Я смог запустить его успешно, за исключением недавно созданного VPS от BlueHost. Вот код:Разрешение mkdir запрещено на сервере bluehost
// Creating image upload path
$destinationPath = public_path() . sprintf("/uploads/data/users/%d/", Auth::user()->getId());
$realPath = sprintf("uploads/data/users/%d/", Auth::user()->getId());
if (!file_exists($destinationPath)) {
mkdir($destinationPath, 0777, true);
}
$fileName = str_random(16);
$fileName = str_replace('/', 'y', $fileName);
$image_url = $realPath . '/' . $fileName . '.' . $ext;
if ($file->move($destinationPath, $fileName . '.' . $ext)) {
$p->display_pic = $image_url;
}
Это ошибка, я получаю:
mkdir(): Permission denied
разрешений папки установлены на 755 для родительской папки. Почему это происходит, и как я могу это исправить?
Я не знаком с BlueHost, но вы проверили, что ваш сервер (Apache или Nginx, я полагаю) является владельцем этого каталога? Если нет, то 755 не позволит серверу ничего писать в этом каталоге. –
Я предполагаю, что '/ uploads/data/users /' одна из папок в этой цепочке еще не существует, кроме того, вам не нужно устанавливать '0777', скрипт должен быть выполнен под' suexec' – cmorrissey
Пожалуйста Я почти ничего не знаю о Linux, пожалуйста, дайте мне несколько демо. – user3718908