几周前,我注意到我的直播网站上的RSS提要已损坏-我白屏了。 到那时为止,它一直运行良好。 我网站的其余部分继续正常运行。 另外,相同的代码可以在我的开发箱中继续正常工作。

没有发生任何代码更改,因此我猜我的Web主机已更改了服务器设置-但我不知道设置可能是什么(因此,我不知道是否有解决方法或是否需要询问我的网站主机来更改某些内容)。 Prod和Dev都在运行PHP 5.3.8。

谁能给我一个关于那可能是什么的线索?

我在响应标头中看到的唯一主要区别是,我的(非工作状态)生产RSS提要具有以下响应标头:“接受范围:无”。

我已经仔细检查了填充提要的DB调用,甚至用类中的一些静态数据替换了它(以防万一有数据库问题),但这没什么区别。

以下相关控制器方法的代码:

    public function articlesAction(){
    $format = $this->_request->getParam('format');
    //default format to rss if unspecified
    $format = in_array($format, array('rss','atom')) ? $format : 'rss';

    $articles = new Application_Model_DbTable_Articles();
    $rows = $articles->getLatestArticlesForFeed();
        $channel = array(
            'title'         =>  'Feed of articles',
            'link'          =>  'http://www.mysite.co.uk',
            'description'   =>  'The latest articles and reviews from my site',
            'author'        =>  'My name',
            'language'      =>  'en',
            'ttl'           =>  '60',
            'copyright'     =>  '© the writers of the articles',
            'charset'       =>  'utf-8',
            'entries'       =>  array()
        );
        foreach ($rows as $item) {
            $articlelink = 'http://www.mysite.co.uk/articles/' . $item['stub'];
            $formattedlink = '<p><strong>Source: <a href="'.$articlelink.'">'.$articlelink.'</a></strong></p>';
            $channel['entries'][] = array(
                'title'         =>  $item['title'],
                'link'          =>  $articlelink,
                'guid'          =>  $articlelink,
                'description'   =>  $formattedlink . $item['content'] . '<p>© ' . $item['byline'] . ', ' . $item['copyright'] . '</p>' ,
                'lastUpdate'    =>  strtotime($item['date_published'])
            );
        }
        $feed = Zend_Feed::importArray($channel, $format);
        $feed->__wakeup();
    }
    $feed->send();
    $this->_helper->viewRenderer->setNoRender();
    $this->_helper->layout()->disableLayout();
}

===============>>#1 票数:0

仅仅因为我用一个小写字母开始了一个班级,我就浪费了一个小时弄清楚为什么拥有WSOD。

$ table = new Model_DbTable_EshopSubcategories(); 代替

$ table = new Model_DbTable_EshopSubCategories();

开发服务器不必区分大小写,生产服务器可以区分大小写。

  ask by Paul Watson translate from so

未解决问题?本站智能推荐: