PDA

View Full Version : آر اس اس خوان قوی حذف فشار روی سرور



aznaee
چهارشنبه 24 اسفند 1390, 19:15 عصر
سلام دوستان
یه کد برای خوندن فید به زبان php دارم که این هست




// read_rss(display_n_items,feed_url)
function read_rss($display=20,$url='http://www.DOMAIN.com/feed') {
$doc = new DOMDocument();
$doc->load($url);
$itemArr = array();
foreach ($doc->getElementsByTagName('item') as $node) {

if($display == 0){
break;
}

$itemRSS = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'description' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'pubdate' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue
);

array_push($itemArr, $itemRSS);

$display--;
}
return $itemArr;
}



این تابع روی سروهای آپاچی اصلا مشکلی نداره اما در سرور هایی که لایت اسپید هستند خطا میده و تابع load نمیتونه کار کنه که باید کانفیگ سرور تغییر کنه که این کار همیشه امکان پذیر نیست خطا هم اینه


Warning: DOMDocument::load() [domdocument.load]: URL file-access is disabled in the server configuration in

و راه حلش هم اینه که توی فایل PHP.INI این دو خط و اضافه کنیم


allow_url_fopen=On
allow_url_include=On


حالا من میخام یه لینک باکس درست کنم و اونو بصورت ایفریم یا هر روش دیگه تو سایت های مختلف برای تبلیغ بزارم

بهترین راه حل برای این موضوع چی هست جوری که به سرور من فشار نیاد چون تعداد بازدیدها بالا میره و هم اینکه مجبور به تغییر کانفیگ تو سرورهای مختلف نباشم

ممنون

hightech
چهارشنبه 24 اسفند 1390, 23:40 عصر
یک راه حل آسون برای اینکار، اینه که با آپدیت سایت، یک فایل xml همزمان کش بشه و هر کسی نیاز به خوندن rss داشت، مستقیما از فایل بخونه و نیازی به دسترسی db نداشته باشه
اگر باز هم به مشکل برخوردید، شاید مجبور بشید کمی سرور رو ارتقا بدید
چون این کار حداقل منابع سیستم رو لازم داره