Como você está executando o Ubuntu, confira AppArmor , pois é provável que isso esteja impedindo sua escrita. Você pode executar o logprof e seguir as instruções.
Meu problema é receber um erro da seguinte forma enquanto tento criar uma pasta usando o script php em /opt/lampp/htdocs/
.
mkdir(): permission denied
Estou usando o sistema ubuntu e o lampp instalado. No meu aplicativo, preciso criar uma pasta em /opt/lampp/htdoc/
para armazenamento temporário de arquivos.
Eu posso criar arquivos e pastas dinamicamente pelo script php.
Verifiquei o proprietário e o grupo da minha pasta e alterei-o para www-data: www-data como na pasta interna, mas ainda com o mesmo erro.
Aqui está o meu código para criar a pasta:
$old = umask(0);
mkdir($UploadDirectory, 0777,true);
umask($old);
Meu caminho $UploadDirectory
também é o /opt/lampp/htdocs/mydirectory
correto.
Eu tentei todas as respostas disponíveis no StackOverflow, é por isso que estou criando uma nova pergunta. Por favor ajude.
Como você está executando o Ubuntu, confira AppArmor , pois é provável que isso esteja impedindo sua escrita. Você pode executar o logprof e seguir as instruções.
Eu notei outros sites com alguns outros que fizeram essa pergunta com respostas variadas que funcionaram, e nenhuma delas funcionou para mim. Eu incluí a resposta que acabou funcionando no meu caso. Espero que esta informação ajude algumas pessoas, pelo menos.
A solução que não funcionou para mim, mas pode funcionar para algumas pessoas, foi:
$old = umask(0); mkdir("/path/some_dir/", 0755, true); umask($old);
O que funcionou para mim, embora com um comportamento um pouco peculiar:
$old = umask(0000); mkdir("/var/www/html/somewebsite/images/somefolder/somefolder/", 6640, true); umask($old);
As pastas criadas parecem acabar com as 640 permissões.