2016-03-22 8 views
0

Я запускаю локальный сервер nginx с php для написания фрагмента кода, который в основном имеет функцию загрузки. Мне нужно загрузить изображения в папку tmp, а затем работать. Но я думаю, что есть некоторые проблемы с разрешениями на папку coz php, отправляет обратно ошибку UPLOAD_ERR_CANT_WRITE.Ошибка при загрузке файлов в Nginx, PHP

ls -l в каталоге:

drwxr-xr-x 2 root root  4096 Mar 22 19:20 assets 
-rw-r--r-- 1 root root  1564 Mar 22 19:20 cropper.php 
drwxr-xr-x 5 root root  4096 Mar 22 19:20 files 
drwxr-xr-x 2 root root  4096 Mar 22 19:20 images 
-rw-r--r-- 1 root root  10018 Mar 22 19:20 index.htm 
-rw-r--r-- 1 root root  7972 Mar 22 19:20 second-page.php 
drwxrwxr-x 2 arjun www-data 4096 Mar 22 19:20 tmp 

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

ответ

1

убедитесь, что php работает как группа www-data. Это не должно. Посмотрите конфигурацию для «Группы».

Легкий способ

пс Окс | Grep PHP

пользователь взгляд PHP демон и Чаун папку TMP для этого пользователя.

запомнить PHP обычно не работать по тем же пользователем, как Nginx, они разные процессы

0

Несмотря на то, что для разрешения группы установлено значение www-data, пользователь по-прежнему будет привязан к себе. Если вы введете cd в каталог и запустите chown -Rf www-data:www-data, он установит владельца каталога tmp на веб-сервер и затем разрешит PHP писать в эту папку.

0

=> PHP-FPM потребности написать доступ, а не Nginx. PHP-FPM процесс работает как UID 1000, а не как WWW-данные

, чтобы вы могли команду chgrp -R 1000 TMP

в идеале вы бы ограничить то, что каталог WWW-данные и PHP-FPM имеют доступ на запись, Точно так же ограничить это в каталог загрузки, например, в WordPress.

Смежные вопросы