PHP - Простой анализатор HTML Dom - 500 Ошибка сервера - PullRequest
0 голосов
/ 31 августа 2011

Я использую простой сервер CentOS 5.5 с PHP 5.2.10. Я пытаюсь использовать синтаксический анализатор PHP Simple HTML Dom, но получаю 500 Server Error. Вот скрипт:

<?php
include_once('simple_html_dom.php');
$html = file_get_html('http://www.google.com/');

Как видите, я пока ничего не делаю с парсером, кроме попыток открыть URL. И это file_get_html приводит к 500 Ошибка сервера.

Я не вижу ошибок в журнале ошибок httpd. Так что я не уверен, где искать, чтобы выяснить проблему. Похоже, единственными требованиями PHP для анализатора Simple HTML Dom являются PHP 5+ (проверка) и php allow_url_fopen = On (проверка).

Ответы [ 4 ]

3 голосов
/ 01 сентября 2011

Начиная с версии 5.2, PHP будет генерировать ответ HTTP 500, если есть фатальная ошибка и display_errors выключен. Включите, чтобы увидеть ошибку, которая останавливает выполнение скрипта. Возможно, файл не включен (неправильные права доступа, путь) и file_get_html () не определен, или, возможно, file_get_html () выдает фатальную ошибку.

1 голос
/ 11 августа 2012

Согласно предложению Витора, я решил эту проблему, изменив file_get_html на file_get_contents.Поскольку я хотел использовать функцию find в simple_html_dom, мне пришлось преобразовать строку в объект:

$string = file_get_contents(http://thedeadfallproject.com/)
$object = new simple_html_dom();
$object->load($string); // Load HTML from a string
1 голос
/ 07 февраля 2012

может это потому, что модуль "php-mbstring" не установлен?Вы можете использовать ini_set('display_errors', 'On');, чтобы проверить это.

1 голос
/ 31 августа 2011

попробуйте file_get_contents

...