502 Bad Gateway при добавлении нового элемента (SimpleXML)

CODER

Новичок
502 Bad Gateway при добавлении нового элемента (SimpleXML)

Здравствуйте!
У меня следующая проблема:
Есть код:
PHP:
$photosXML[] = simplexml_load_string(iconv('windows-1251', 'UTF-8', "<photo path = \"".$filename."\" alt = \"".$alts[$i]."\" group = \"".$groups[$i]."\"/>"));
который выполняется в цикле. Вообщем получается массив simple_element'ов.
Далее следует код:
PHP:
$xml = @simplexml_load_file($filenamePhotos);
for($i = 0; $i < count($photosXML); $i++)
{	
        $c = count($xml->photos->photo);
        $xml->photos->addChild('photo');
        $xml->photos->photo[$c]['path'] = $photosXML[$i]['path'];
        $xml->photos->photo[$c]['alt'] = $photosXML[$i]['alt'];
        $xml->photos->photo[$c]['group'] = $photosXML[$i]['group'];
}
Ошибка возникает в строке $xml->photos->addChild('photo'); - вылетает 502 Bad Gateway.
Вся эта проблема есть только на сервере (PHP Version 5.2.1, nginx/0.5.32, SimpleXML $Revision: 1.151.2.22.2.20 $ ), у меня на компьютере такая проблема отсутствует (PHP Version 5.2.3, Windows XP, SimpleXML $Revision: 1.151.2.22.2.26 $).
Изначально строка, которая вызывает ошибку выглядела так: $xml->photos->photo[$c] = $photosXML[$i]; - у меня всё работало, на сервере - нет!
Был здесь: http://bugs.php.net/. Мою проблему не нашёл.
XML файл выглядит примерно так:
<?xml version="1.0" encoding="windows-1251"?>
<gallery>
<category id="1">Территория</category>
<category id="2">Номерной фонд</category>
<category id="3">Места отдыха</category>
<photos>
<photo path="980260879.9908.jpg" alt="цува" group="1"/>
<photo path="268907257.70861.jpg" alt="ыва" group="2"/>
<photo path="556372772.3385.jpg" alt="oooooooooo" group="1"/>
</photos>
</gallery>
 

slach

Новичок
phpinfo()
что говорит про Server API ? Apache ? или CGI/FastCGI ?

502 Bad Gateway. значит что от бакенда не получается ответа за заданный промежуток времени

у тебя где то ЦИКЛ вечный срабатывает, либо слишком МНОГО photosXML

кроме того
http://www.php.net/manual/ru/function.simplexml-element-addChild.php

говорит нам что конкретно эта ф-ция вроде как еще в CVS
хотя дока может и устареть..

если убрать addChild то все работает?? пустой цикл прогоняется?

вообще
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
ini_set('log_errors',1);
error_log($_SERVER['DOCUMENT_ROOT'].'/php5-error.log');
может спасти отца русской демократии
 

CODER

Новичок
Сервер - Apache.
массив photosXML может иметь максимум 3 элемента.
Если убрать addChild то цикл срабатывает, на основание этого я и предположил, что ошибка в этой строке.
Отображение ошибок стоит на E_ALL & ~E_NOTICE, как на сервере так и у меня.
Что касается функции addChild, то я пробовал и вариант: $xml->photos->photo[$c] = $photosXML[$i]; - он у меня работает, на сервере - нет.
 

slach

Новичок
вот этот код на хостинге работает что выдает??
PHP:
<?php
$sxe = new SimpleXMLElement('<?xml version="1.0"?><root/>');
$sxe->addAttribute('addAttribute', 'test1');
$child = $sxe->addChild('addChild','test2');
$child->addChild('addChild2', 'test3');
echo $sxe->asXML();
?>
 

CODER

Новичок
Да... Этот код работает. Видимо, мой довод был не верный. Попытаюсь решить проблему, учитывая это, хотя пока идей нет.

-~{}~ 04.02.09 11:37:

Хотел было окунуться глубже в иследование проблемы спустя некоторое время, но проблема была решена сама собой при переезде на новый сервер.
Всем спасибо!
 
Сверху