test.php не может вывести файл в файловую систему Leopard - PullRequest
1 голос
/ 15 сентября 2009

могу ли я узнать, какое разрешение мне нужно добавить, чтобы 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

Ответы [ 4 ]

3 голосов
/ 15 сентября 2009

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

2 голосов
/ 15 сентября 2009

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

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

1 голос
/ 15 сентября 2009

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

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

1 голос
/ 15 сентября 2009

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

...