Не удалось сохранить XML из SimpleXMLElement, чтобы открыть ошибку потока - PullRequest
1 голос
/ 25 августа 2011

XML-файл и папка на сервере, где хранится файл, доступны для чтения в любой среде в среде Windows Vista, IIS 7.Вызов функции asXML возвращает это предупреждение, и файл не обновляется.

Warning: SimpleXMLElement::asXML(communities.xml) simpleelement.asxml failed to open stream: permission denied in c:\path\make_update.php.

Файл make_update.php обновляет узлы в XML.

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

function make_update( $nodeid, $name, $top, $left, $width, $height ) {

$nodes = new SimpleXMLElement('communities.xml', null, true);

$returnArray = $nodes->xpath("//COMMUNITY[@ID='$nodeid']");  
$node = $returnArray[0]; 
$node->TOP = $top;

$nodes->asXML('communities.xml');

return $node->TOP;
}

echo make_update(trim($_REQUEST['nodeid']),trim($_REQUEST['name']),trim($_REQUEST['top']),trim($_REQUEST['left']),trim($_REQUEST['width']),trim($_REQUEST['height']));

?>

Ответы [ 2 ]

0 голосов
/ 29 апреля 2015

У меня была такая же проблема, я запускаю IIS 7 с php У меня «Не удалось открыть ошибку Stram» с SimpleXMLElement :: asXML.

Я решил проблему, предоставив доступ для записи всем пользователям. это решение только для внутренних сайтов, потому что это рискованно.

Решение user823527 не работает для меня.

ОБНОВЛЕНИЕ: я исправил проблему, предоставив доступ для записи в 'IUSR' и 'IIS_USRS'

0 голосов
/ 27 августа 2011

Пришлось установить разрешение для папки, содержащей файл XML в дополнение к файлу для чтения и записи.Это сделал владелец, система, пользователь, iisuser.

...