Ошибка PHP fopen (): не удалось открыть поток: отказано в разрешении

Я учусь писать плагин WordPress. Мне нужна помощь в записи некоторых данных в XML-файл. Я на своей локальной машине, Mac работает MAMP. У меня есть PHP 5.2.13. В моем плагине у меня есть:

$file_handle = fopen('markers.xml', 'w');
$stringdata = "Test Info";
fwrite($file_handle, $stringdata);
fclose($file_handle);

запуск выше дает мне следующую ошибку:

предупреждение:fopen (маркеры.xml) [функция.функции fopen]: не удалось открыть поток: Отказано в / Пользователи / my_name/сайты/my_site/wp-content/Плагины/my_plugin_folder / my_plugin_main_file.РНР на линии 73

предупреждение: fwrite(): поставляется аргумент не является допустимым поток ресурсов в / Пользователи / my_name/сайты/my_site/wp-content/Плагины/my_plugin_folder / my_plugin_main_file.РНР на линии 75

предупреждение: fclose(): поставляется аргумент не является допустимым поток ресурсов в / Пользователи / my_name/сайты/my_site/wp-content/Плагины/my_plugin_folder / my_plugin_main_file.РНР на 76 строчке

Я пробовал использовать абсолютный путь в строке $file_handle : http://my_site/wp-content/plugins/my_plugin_folder/markers.в XML. Но это не сработало.

Я также попытался изменить разрешения на маркеры.XML следующим образом:

(Me): Чтение И Запись (неизвестно): только для чтения все: читать и писать

по какой-то причине мой Mac не позволил мне изменить (неизвестно) для чтения и записи. Я не уверен, что это имеет значение. Я щелкнул правой кнопкой мыши по файлу и выбрал "получить информацию", чтобы изменить разрешения.

в phpInfo () у меня есть:

" зарегистрированные PHP потоки https, ftps, compress.zlib для сжатия.bzip2, php, файл, данные, http, ftp"

является ли настройка WordPress причиной проблемы? или это просто проблема PHP?

есть предложения, как решить эту проблему?

спасибо.

2 ответов


возможно, Вам потребуется изменить разрешения в качестве администратора. Откройте терминал на компьютере Mac, а затем откройте каталог маркеров.xml находится в. Затем введите:

sudo chmod 777 markers.xml

вы может быть предложено ввести пароль. Кроме того, это могут быть каталоги, которые не позволяют полный доступ. Я не знаком с WordPress, поэтому вам может потребоваться изменить разрешение каждого каталога, перемещающегося вверх в каталог mysite.


[function.fopen]: failed to open stream

Если у вас есть доступ к PHP.ini-файл, попробуйте включить Fopen. Найдите соответствующую строку и установите ее как "on": & if в wp e.g localhost/wordpress/функция.fopen в php.ini:

allow_url_fopen = off
should bee this 
allow_url_fopen = On

And add this line below it:
allow_url_include = off
should bee this 
allow_url_include = on