我們一直在Magento安裝上使用SimplePie將我們的博客帖子拉入主頁,現在幾個月沒有問題。由於Magento的其他一些問題,我們讓我們的Web主機關閉了APC中的操作碼。一旦我們這樣做了,SimplePie的下一次小時更新停止加載主頁並在Apache中返回以下錯誤:Magento的APC變更使SimplePie不能正常工作
[Wed Jan 18 09:59:57 2012] [error] PHP致命錯誤:Class' Zend_Log'找不到{server root} /lib/SimplePie/simplepie.inc on line 738
我對正在發生的事情以及如何解決這個問題有點不知所措。 SimplePie作爲橫幅/小部件提供,所以如果我將它放在不同的類別頁面上,我會得到相同的結果。 (頁面停在SimplePie命令)我希望這會是簡單的變化是迫使舊的分支RSS保持不能修改,但我不知道。
任何幫助將不勝感激!
SimplePie的代碼不變,版本1.2.1。我有一個頁面/app/design/frontend/default/default/template/page/html/blog.phtml,它有以下代碼。
<div class="col-narrow right sidebar-blog">
<h2>Our Gardening Blog</h2>
<?php
// Make sure SimplePie is included. You may need to change this to match the location of
require_once('lib/SimplePie/simplepie.inc');
// We'll process this feed with all of the default options.
$feed = new SimplePie();
// Set which feed to process.
$feed->set_feed_url('http://blog.americanmeadows.com/feed/');
// Run SimplePie.
$feed->init();
// This makes sure that the content is sent to the browser as text/html and the UTF-8
$feed->handle_content_type();
/*
Here, we'll loop through all of the items in the feed, and $item represents the
current item in the loop.
*/
foreach ($feed->get_items(0,2) as $rss_item):
?>
<div class="article-teaser">
<p><span><?php echo $rss_item->get_date('F j, Y'); ?></span></p>
<h2 class="article-title"><a href="<?php echo $rss_item->get_permalink(); ?>"><?php echo $rss_item->get_title(); ?></a></h2>
<?php if ($rss_item->get_item_tags('', 'thumbnail')) {$thumbnail = $rss_item->get_item_tags('', 'thumbnail'); echo "<img src='" . $thumbnail[0]['data'] . "'>"; } ?>
<p><?php echo $rss_item->get_description(); ?> <a class="more" href="<?php echo $rss_item->get_permalink(); ?>" target="_blank">Continue Reading</a></p>
</div>
<?php endforeach; ?>
</div>
那麼我這就要求旗幟只有以下
{{block type="page/html" template="page/html/blog.phtml"}}
我包括在我們的主頁左欄的小工具,旗幟,以使其顯示。
中的了SimplePie線的引發錯誤是
function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null)
{
// Other objects, instances created here so we can set options on them
$this->sanitize =& new SimplePie_Sanitize; /* Error is thrown here */
// Set options if they're passed to the constructor
if ($cache_location !== null)
{
$this->set_cache_location($cache_location);
}
我認爲這是你需要什麼,但很高興發佈更多。
您能否發佈相關來源? SimplePie不使用任何Zend組件,因此您擁有的版本必須是自定義版本。 – 2012-01-18 15:35:46
我剛剛檢查了SimplePie.inc,它是1.2.1的開發版本。我只是將它更新到當前版本,但獲得相同的結果。我會補充我在主要問題中的交付情況。 – 2012-01-18 16:17:47
SimplePie中[738行](https://github.com/simplepie/simplepie/blob/one-dot-two/simplepie.inc#L738)唯一的事情就是'SimplePie_Sanitize'的實例化,所以這必須是來自其他地方。 (另外,1.2.1已經發布,所以1.2.1-dev已經過時) – 2012-01-18 16:31:20