Jump to content

Кто хорошо владеет тут PHP?


Recommended Posts

Имеется скрипт, в котором выводится список серверов. Но он делает запрос к серверам каждый раз, когда обновляется страница. И сайт постоянно зависает и скорость загрузки страницы составляет 10-13 секунд.

Нужно это исправить, кто возьмется?

Link to post
Share on other sites

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

  • Модератор

поставить на кеширование, если данные о серверах не часто обновляются.

Скиньте сам код в личку, посмотрю

Link to post
Share on other sites
  • Модератор

Создаем кеширование и каждый раз не исполняем скрипт, а берем готовую страничку в html, закешированную уже кем-то.

 

1. создайте папку cache (права 777)
 
2. создайте 2 файла:
start.php






<?php
$url=$_SERVER['REQUEST_URI'];
 $crc=md5($url); 
$modif=time()-@filemtime ("cache/$crc"); 
if ($modif<86400)
 { 
 include ("cache/$crc");
 exit();
 } 
ob_start (); 
?>

и
end.php






<?php
$cache = ob_get_contents();
 ob_end_clean ();
 echo $cache; 
$fp = @fopen ("cache/$crc", "w");
 @fwrite ($fp, $cache);
 @fclose ($fp);
?>

3. Теперь на странице, где выполнятся код подключите их:
перед началом кода
<?include ("start.php");?>
и после исполнения кода
<?include ("end.php");?>
 
P.S. Страницы будут кешироваться в папку cache. Время кеширования страниц выставляется в миллисекундах в строчке if ($modif<86400) файла start.php. Ну и разобраться с путями надо. А так все прекрасно работает! Удачи!

Link to post
Share on other sites

Создаем кеширование и каждый раз не исполняем скрипт, а берем готовую страничку в html, закешированную уже кем-то.

 

1. создайте папку cache (права 777)

 

2. создайте 2 файла:

start.php






<?php
$url=$_SERVER['REQUEST_URI'];
 $crc=md5($url); 
$modif=time()-@filemtime ("cache/$crc"); 
if ($modif<86400)
 { 
 include ("cache/$crc");
 exit();
 } 
ob_start (); 
?>

и

end.php






<?php
$cache = ob_get_contents();
 ob_end_clean ();
 echo $cache; 
$fp = @fopen ("cache/$crc", "w");
 @fwrite ($fp, $cache);
 @fclose ($fp);
?>

3. Теперь на странице, где выполнятся код подключите их:

перед началом кода

<?include ("start.php");?>

и после исполнения кода

<?include ("end.php");?>

 

P.S. Страницы будут кешироваться в папку cache. Время кеширования страниц выставляется в миллисекундах в строчке if ($modif<86400) файла start.php. Ну и разобраться с путями надо. А так все прекрасно работает! Удачи!

Блин все было шикарно до того момента, когда ты написал "остается разобраться с путями".

Link to post
Share on other sites
  • Модератор

 

 


Блин все было шикарно до того момента, когда ты написал "остается разобраться с путями".

В коде ж указаны относительные пути: "cache/$crc" (поэтому в зависимости от места исполнения, скрипт может не работать)

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...