test.php не может вывести файл в файловую систему Leopard

StackOverflow https://stackoverflow.com/questions/1426914

Вопрос

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

PHP Error: <br />
<b>Warning</b>:  file_put_contents(20090915203127.jpg) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in <b>/Library/WebServer/Documents/testphp/test.php</b> on line <b>8</b><br />
ERROR: Failed to write data to 20090915203127.jpg, check permissions

это ошибка, которую я получаю на леопарде, я уже chmod ugo + x для test.php

Это было полезно?

Решение

Насколько я знаю, вам нужны права root для прямой записи в / Library. Обязательно ли писать в этот каталог?

Если вы просто записываете файлы в свою учетную запись, в / Users / accountname это должно работать (хотя это зависит от пользователя, выполняющего скрипт php).

Другие советы

Это не файл, которому нужны разрешения, это процесс, выполняющий PHP. Предполагая, что вы используете (Snow) Leopard в его состоянии по умолчанию, вам нужно дать пользователю _www права на запись в данный каталог, или дать миру доступ для записи (менее приятная идея). И то, и другое можно выполнить с помощью комбинации chown и chmod.

Необходимо убедиться, что пользователю, под которым запускается сценарий, разрешено выполнять запись в файл, в который выполняется попытка записи (т. е. 20090915203127.jpg , а не в сценарии PHP). Если 20090915203127.jpg не существует, вам нужно убедиться, что каталог, в который собирается файл, доступен для записи (по умолчанию это будет текущий рабочий каталог).

Возможно, вам потребуется прочитать о chmod .

Необходимо сделать целевой файл / каталог доступным для записи на веб-сервере. test.php не в этом ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top