2013-10-24 4 views
1

Поскольку я обновил ОС своего MAC (до последней версии OSX Mavericks), я заметил, что на моей странице не было контента (это проект php с большим количеством кода).simplexml_load_file приводит к пустой странице

Но дело в том, что проблема возникает каждый раз, когда я пытаюсь загрузить XML-файл через Simplexml.

Вот код:

$file = __DIR__ . '/myfile.xml'; 
$xml = simplexml_load_file($file); 

Но нет никакой ошибки, это просто пустая страница (без источника HTML, чтобы увидеть в браузере). И я не отключил отчет об ошибках. И путь также верен (is_file() возвращает true).

И, как я уже сказал, до обновления ОС он работал хорошо.

+0

«Я не отключил отчет об ошибках» - но вы включили его ** на **? Если это новая версия PHP, ваш php.ini, вероятно, переписан. – IMSoP

+0

Возможный дубликат [Ссылка - что означает эта ошибка в PHP?] (Http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) (в частности [это раздел] (http://stackoverflow.com/a/12772851/157957)). – IMSoP

+0

Я думаю, что отчет об ошибках по-прежнему включен, потому что, если я ошибаюсь, добавив дополнительную папку между тем, кто ее не существует, она выдает исключение из пути wron ... Я также добавил 'ini_set ('display_errors', 1); error_reporting (~ 0); 'но ничего не изменил – lenny

ответ

1

Мой Mac делает то же самое после обновления до Mavericks. Служба httpd на самом деле сбой, когда я вызываю файл simplexml_load_file, поэтому никакие ошибки php никогда не генерируются. Check/Library/Logs/DiagnosticReports/для журналов ошибок. Я еще не нашел исправления.

Обновление для XAMPP Mac OS X 1.8.3 PHP 5.5 исправить эту проблему для меня. http://www.apachefriends.org/en/xampp-macosx.html

2

У меня была такая же проблема после обновления до Mavericks. Когда я пытаюсь позвонить simplexml_load_file, страница вылетает. Я использовал $content = file_get_contents($xml); $config = new SimpleXMLElement($content); вместо simplexml_load_file, и это помогло мне.

+0

Если я могу сделать рекомендацию - вместо вызова 'file_get_contents', а затем' new SimpleXMLElement' (который будет использовать примерно вдвое больше объема памяти), скорее используйте аргумент '$ data_is_url'. Итак: '$ config = new SimpleXMLElement ($ xml, 0, true)' – garbetjie

Смежные вопросы