Hereigo
@Hereigo
Пишу на C# + Asp.Net (MVC) + .Net Core

Почему DOMDocument::loadXML по разному работает на Apache под Windows и Linux?

Development PC - Apache 2.2 + PHP Version 5.3.28 - Windows 8.1 x64
Production Server - Apache 2.2 + PHP Version 5.3.10 - 1Ubuntu3

$options = array(
        'http' => array(
            'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
            'header' => "Authorization: Basic " . $auth . "\r\n",
            'method' => 'POST',
        ),
    );
$context = stream_context_create($options);
$url = 'http://192.168.0.159/ClientCabinet/hs/clientinf/getinfo';
$result = @file_get_contents($url, false, $context);
$dom = new domDocument("1.0", "utf-8");
$dom->loadXML($result);


И на Виндовс-машине и на Линукс:
echo var_dump($result); - даёт одинаковый результат.
но
echo var_dump($dom); - на Виндовс формирует заполненый XML,
а Убунту получает - object(DOMDocument)#1 (0) { }
...
Заранее спасибо, если кто знает или догадывается, в чём дело...
  • Вопрос задан
  • 2565 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Apache тут не при чем. PHP Version 5.3.28 и PHP Version 5.3.10 это как минимум разные версии php. 99,(9)% что настройки так же различаются (php.ini). Может у вас xdebug стоит где-то, может еще чего.

@file_get_contents($url, false, $context);

уберите собачку, получите ошибку. Увидете ошибку, решите проблему. скорее всего file_get_contents возвращает пустую строку так как не смогла скачать файл а ошибки были подавлены.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы