Criando pasta usando php no diretório raiz mostra erro mkdir no ubuntu

0

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.

    
por user698637 17.02.2017 / 12:47

2 respostas

0

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.

    
por 18.02.2017 / 05:10
0

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.

    
por 07.01.2018 / 17:29