Запись / чтение и разрешения

#php #file-io #permissions #chmod #httpd.conf

#php #file-io #разрешения #chmod #httpd.conf

Вопрос:

Другой разработчик и я создаем веб-сайт, и мы используем php для чтения / записи в / из каталога нашего сайта. По какой-то причине все на его стороне работает нормально, но я могу заставить работать только один тип ввода-вывода… Если я изменю свой httpd.conf файл и сменю пользователя:

 User _www        //Change this to my system user name (Spencer)
Group _www
 

Я могу загружать файлы изображений в наш каталог, но как только я внесу это изменение, я больше не смогу читать текстовые файлы, что вызывает исключение:

 Uncaught SyntaxError: Unexpected token <
 

в этой строке:

 var results = $.parseJSON(data);
 

Если бы кто-нибудь мог помочь мне лучше понять соответствующую часть файла httpd.conf, который я включил выше, и помочь мне с направлением для улучшения моей настройки, я был бы очень признателен!

Редактировать:

Когда я добавляю a console.log(data) перед синтаксическим анализом json, вывод <b>Warning</b>: chmod(): Operation not permitted in <b>/Users/Spencer/Programming/... и ошибка содержат текст файла, который я пытаюсь открыть..

После более глубокого изучения выясняется, что именно это вызывает проблему: chmod($fileName, 0777); и я предполагаю, что это проблема, потому что пользователь PHP и системный пользователь конфликтуют. Я нашел некоторую информацию о PHP и chmod() функции здесь

Удален ненужный код

Комментарии:

1. итак console.log(data) , и посмотрите, что было отправлено. Возможно, вы получили какой-то HTML вместо JSON. например, страницу с ошибкой http или что-то еще, которая, вероятно, будет содержать подсказку о том, в чем заключается реальная проблема.

2. Отличная идея, позвольте мне добавить это, и я прокомментирую результат.

3. Хорошо, так что это странно… вывод <b>Warning</b>: chmod(): Operation not permitted in <b>/Users/Spencer/Programming/... содержит текст файла, который я пытаюсь открыть…