Este parece ser um problema de permissão. O diretório /var/www/html
provavelmente pertence a root
:
mirek@testsrv-ubuntu:/var/www/html$ ls -al
total 24
drwxr-xr-x 3 root root 4096 dec 23 2015 .
drwxr-xr-x 3 root root 4096 dec 22 2015 ..
-rw-r--r-- 1 root root 11510 dec 22 2015 index.html
O usuário que está executando o PHP deve ter permissão para escrever nesse diretório. Se o PHP é executado pelo Apache, você precisa permitir que o usuário www-data
escreva. O comando a seguir listará os processos do Apache em execução. O nome de usuário é a primeira coluna.
mirek@testsrv-ubuntu:/var/www/html$ ps -ef | grep apache
root 1605 1 0 jul20 ? 00:00:16 /usr/sbin/apache2 -k start
www-data 1963 1605 0 12:01 ? 00:00:04 /usr/sbin/apache2 -k start
Como root
tem permissão para escrever em qualquer lugar, basta alterar o proprietário do diretório /var/www/html
para www-data
e os dois root
e www-data
poderão gravar lá.
sudo chown www-data:www-data /var/www/html
Mais informações sobre permissões e proprietários de arquivos: