Re: Разрешения - кто является владельцем скрипта PHP, выполняемого на сервере?

У меня проблемы с пониманием разрешений и прав собственности в PHP. У меня есть PHP-скрипт, который записывает изображения (загруженные клиентом) в папку. Сценарий завершится ошибкой, если я не установлю разрешения для этой папки на 777. Я думал, что, поскольку сценарий запускается сервером, ему нужны только разрешения «владельца»? Зачем мне нужны публичные права на запись? И что такое групповые разрешения?


person lifeformed    schedule 29.07.2011    source источник
comment
Вы можете прочитать это.   -  person netcoder    schedule 30.07.2011


Ответы (2)


Вам необходимо предоставить общедоступные разрешения в случае, когда UID веб-сервера (пользователя) отличается от UID (пользователя), которому принадлежит каталог. Если вы контролируете свой сервер, у вас есть 2 варианта.

  1. Измените владельца каталога на тот же UID (пользователь), с которым работает веб-сервер.
  2. Измените UID (пользователя), от имени которого работает веб-сервер, чтобы он соответствовал владельцу каталога.

Вы используете свой собственный сервер или хостинг предоставляется третьей стороной?

person diolemo    schedule 29.07.2011

Это зависит от того, кто запускает ваш сервер (я предполагаю, что вы используете apache httpd). В phpinfo() вы можете увидеть, какой пользователь запускает ваш сервер (ищите что-то вроде «Пользователь/группа»), и если вы установите владельца папки для этого пользователя и предоставите ему возможность записи, он должен работать.

person afuzzyllama    schedule 29.07.2011