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 ответа
Пришлось установить разрешение на папку, содержащую XML-файл, в дополнение к файлу для чтения и записи. Сделал это владельцем, системой, пользователем, iisuser.
У меня была такая же проблема, я запускаю IIS 7 с php. У меня «Не удалось открыть ошибку stram» с SimpleXMLElement :: asXML.
Я решил проблему, предоставив доступ на запись «всем». это решение только для внутренних сайтов, потому что это рискованно.
Решение user823527 меня не сработало.
ОБНОВЛЕНИЕ: я исправил проблему, предоставив доступ на запись к IUSR и IIS_USRS.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.