Diretório não é criado na pasta do projeto

Tenho uma aplicação WEB em PHP que funciona perfeitamente no Windows usando como ambiente o XAMPP. Mas precisei mudar de setup e agora no Linux, usando Apache2 instalado separadamente, não funciona a criação de diretórios. Já dei permissão 777 para a pasta “/var/www/html/”. Consigo criar diretórios por meio de código dentro da pasta html em si mas dentro da pasta do eu projeto eu não consigo.

Faço a criação da seguinte forma:

if (!file_exists($dir)) {
        mkdir($dir, 0777, true);
   }

Estou sem o Linux instalado aqui para testar, mas consultando esse post, a função mkdir() só aceita 02 argumentos.

int mkdir(const char * path, mode_t mode);

const char *path - caminho do diretório
mode_t mode - permissão que você citou

Exemplo dado neste post:

status = mkdir("/home/cnd/mod1", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);

O problema não é no comando. Segundo esse post o comando mkdir tem dois parâmetros obrigatórios, diretório de criação e tipo de permissão a ser dada a esse diretório, e um terceiro que é opcional, que é a recursividade (ativa ou não).

Acredito eu, com base nos testes que fiz, que pode ser algum erro no servidor em si ou de permissão de diretório. Porque na pasta raiz do Apache “/var/www/html/” eu consigo criar tranquilamente. Porém, dentro da pasta do projeto não cria. O pior é que não retorna erro. Apenas não cria.

1 curtida

Entendi! Desculpe! :relaxed:
Já tentou isso? :grinning: