Как загрузить xml в cron job - PullRequest
0 голосов
/ 01 марта 2011

У меня проблема с запуском задания cron.

Вот мой код:

<?php
    $doc = new DOMDocument();
    $doc->load( 'http://www.all-news.in/feed' );

    $items = $doc->getElementsByTagName( "item" );

    mysql_connect('host','username','pass');
    mysql_select_db('dbname');

    $i=0;
    foreach( $items as $itemname )
    {
        // Here Business logic for Inserting the data
    }   

    echo $i.' Imported';
?>

Когда я запускаю этот файл в браузере, он работает нормально, но когда cron выполняетсяЯ получил следующую ошибку:

<br />
<b>Warning</b>:  DOMDocument::load(http://www.all-news.in/feed) [<a href='domdocument.load'>domdocument.load</a>]: failed to open stream: Connection timed out in <b>/home/content/98/7509598/html/amz/social-bookmark.in/cron_jobs/all_news.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>:  DOMDocument::load() [<a href='domdocument.load'>domdocument.load</a>]: I/O warning : failed to load external entity &quot;http://www.all-news.in/feed&quot; in <b>/home/content/98/7509598/html/amz/social-bookmark.in/cron_jobs/all_news.php</b> on line <b>4</b><br />
0 Imported

1 Ответ

1 голос
/ 01 марта 2011

Я опробовал ваш код и не получаю никаких ошибок.Я немного изменил его, чтобы дать мне больше отзывов:

error_reporting(E_ALL);
$doc = new DOMDocument();
$doc->load( 'http://www.all-news.in/feed' );

$items = $doc->getElementsByTagName( "item" );
var_dump($items);
// mysql_connect('host','username','pass');
// mysql_select_db('dbname');

$i=0;
foreach( $items as $itemname )
{
    var_dump( $itemname ); $i++;
    // Here Business logic for Inserting the data
}   

echo $i.' Imported';

Это дает мне:

object(DOMNodeList)#2 (0) { } object(DOMElement)#3 (0) { } object(DOMElement)#5 (0) { } object(DOMElement)#3 (0) { } object(DOMElement)#5 (0) { } object(DOMElement)#3 (0) { } object(DOMElement)#5 (0) { } object(DOMElement)#3 (0) { } object(DOMElement)#5 (0) { } object(DOMElement)#3 (0) { } object(DOMElement)#5 (0) { } 10 Imported

Если вы тестируете в локальной среде (возможно, на вашем ноутбуке), тогда попробуйтеперезапуск вашего веб-сервера.Кроме этого я не уверен, что не так извините.

...