Моя проблема заключается в том, что при попытке создать папку с помощью php-скрипта в /opt/lampp/htdocs/ .

mkdir(): в доступе отказано

Я использую систему Ubuntu и Lampp установлен. В моем приложении мне нужно создать папку в /opt/lampp/htdoc/ для временного хранения файлов.

Я могу создавать файлы и папки динамически с помощью php-скрипта.

Я проверил владельца и группу своей папки и изменил их на www-data:www-data, как во внутренней папке, но все равно ошибка.

Вот мой код для создания папки:

$old = umask(0); 
mkdir($UploadDirectory, 0777,true);
umask($old);

Мой путь к $UploadDirectory также является правильным /opt/lampp/htdocs/mydirectory .

Я перепробовал все доступные ответы в StackOverflow, поэтому создаю новый вопрос. Пожалуйста помоги.

2 ответа2

0

Я заметил другие сайты с несколькими другими, которые задавали этот вопрос с различными ответами, которые работали, ни один из которых не работал для меня. Я включил ответ, который закончил работать в моем случае. Я надеюсь, что эта информация поможет некоторым людям по крайней мере.

Решение, которое НЕ работает для меня, но может работать для некоторых людей:

$old = umask(0);
mkdir("/path/some_dir/", 0755, true);
umask($old);

Тот, который работал для меня, хотя и с несколько странным поведением:

$old = umask(0000);
mkdir("/var/www/html/somewebsite/images/somefolder/somefolder/", 6640, true);
umask($old);

Кажется, что созданные папки имеют 640 разрешений.

0

Поскольку вы работаете в Ubuntu, проверьте AppArmor, так как это, вероятно, мешает вам писать. Вы можете запустить aa-logprof и следовать инструкциям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .