We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26709
    • 4 Posts
    Quote from: rariteth at Nov 21, 2008, 02:36 PM

    отличный скрипт, применил уже на 3-х сайтах, на одном поставил время 432,000 секунд это 5 дней. хочу обратить внимание что файлы остаются их например на одном сайте уже 2,000, ща делаю чтобы запросы которые старше 15 дней удалялись, они же не используются получется. как посоветуете это сделать? и

    Можете не беспокоиться в отношении этих файлов. Дело в том, что при повторном запросе скрип проверяет, есть ли уже кешированный запрос - если он устарел или его нету, то перезаписывается на новый. Поэтому если у вас остались устаревшие файлы и вы их удалите - они все равно создадуться снова. А зачем ваш еще одна головная боль? Если позволяет место на хостинге, оставляйте все как есть.

    Quote from: rariteth at Nov 21, 2008, 02:36 PM

    ещё - файл с проверкой изменлся ли контент, который подключается в индексе вставляет <!-- content --> как нипытался, но он искажает в ИЕ5-6 отображение, он ставить "<!-- content --> "в самом начале, это <Doctype /> переопределяет чтоли, стили короче едут, верстаю в блочной, поэтому какой дотайп довольно важно

    В таком случае вы удалите в индексе строки
        echo "<!--content-->"; $modx->executeParser(); echo "<!--/content-->";

    и замените ее на стандартную
        $modx->executeParser();

    А выделите проверяемую область в самом шаблоне в нужном месте уже известными <!-- content --> Все должно получиться.

    Еще. Выложил обновление. Скачивайте в верхнем посте. Изменения касаются проблемы с путями - в старой версии неудачно определялся путь к директтории с кэшем. Теперь все нормально.
    Хочу напомнить, что права на папку с кешем должны позволять скрипту писать в нее.


      • 24489
      • 60 Posts
      Quote from: Serg24 at Dec 12, 2008, 08:46 AM

      Если позволяет место на хостинге, оставляйте все как есть.
      А выделите проверяемую область в самом шаблоне в нужном месте уже известными <!-- content --> Все должно получиться.
      Так и сделаю, огромное спасибо ещё раз. Я доволен скоростью работы сайтов, Файлов уже на одном из сайтов 17,000 немного беспокоит их кол-во, а в остальном отлично.
        Плагин для ресайза картинок AutoResizer
        Сниппет для вывода полей документа DocInfo

        Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
        • 26709
        • 4 Posts
        Еще заметил один баг. В версии 0.9.6 и 0.9.6.1 бывают проблемы, когда при работе скрипта кеширования выдает либо полнрстью белую страницу без ошибок, либо ошибку, что такой-то файл (а именно текстовый файл с кешем) отсутсвует.

        Дело в том, что с версией МОДХ 0.9.6.2 этой проблемы нету. Поэтому советую обновить движок до новой версии.

        Проблема в том, что в более ранних версиях МОДХ не очень адекватно реагировала в том случае, когда идет роверка на сущестование файла. Т.е. конструкция типа :
        
        if (!$file) { траляля
        } else {
        траляля
        } 
        

        вызывала ошибку, хотя ясно указано, что если файла нету, то нужно делать какое-то действие.
        Теперь в 0.9.6.2. это, видимо, исправлено, так что ошибки не выдает и проверка проходит успешно. Это мои предположения, но сделанные на основании тестирования и проверки.
          • 24489
          • 60 Posts
          Quote from: Serg24 at Dec 12, 2008, 08:58 AM

          Еще заметил один баг. В версии 0.9.6 и 0.9.6.1 бывают проблемы, когда при работе скрипта кеширования выдает либо полнрстью белую страницу без ошибок, либо ошибку, что такой-то файл (а именно текстовый файл с кешем) отсутсвует.

          Дело в том, что с версией МОДХ 0.9.6.2 этой проблемы нету. Поэтому советую обновить движок до новой версии.

          Проблема в том, что в более ранних версиях МОДХ не очень адекватно реагировала в том случае, когда идет роверка на сущестование файла. Т.е. конструкция типа :
          
          if (!$file) { траляля
          } else {
          траляля
          } 
          

          вызывала ошибку, хотя ясно указано, что если файла нету, то нужно делать какое-то действие.
          Теперь в 0.9.6.2. это, видимо, исправлено, так что ошибки не выдает и проверка проходит успешно. Это мои предположения, но сделанные на основании тестирования и проверки.

          Вот о чём я и писал ранее. Избавился  от проблемы конструцией:
          примерно 79-я строка
          if (file_exists($filename)) {
          		  if ((@$file=fopen($filename, 'r')) && filemtime($filename)>(time()-$valid)){
          			 flock($file, LOCK_SH);
          			 $serial=file_get_contents($filename);
          			 $this->ResultData=unserialize($serial);
          			 $this->DataDate=filemtime($filename);
          			 $this->FromCache=true;
          			 fclose($file);
          			 return true;
          		  }
          
          		if ($file){
                   fclose($file);
                }
          	}


          примерно 109:
            if (file_exists($peak_filename)) {
          		  if (@$file=fopen($peak_filename, 'r')){
          			 flock($file, LOCK_SH);
          			 $fdata=file($peak_filename);
          			 foreach ($fdata as $key=>$value){
          				$this->Peak[$key]=trim($value);
          			 }
          			 $this->Peak[0]=floatval($this->Peak[0]);
          		  }
          		  if ($file){
          			 fclose($file);
          		  }
          	  }
            Плагин для ресайза картинок AutoResizer
            Сниппет для вывода полей документа DocInfo

            Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
            • 26709
            • 4 Posts
            Спасибо smiley можно будет использовать в новой версии smiley
              • 13889
              • 39 Posts
              ЧТо сделать чтобы заработало huh? Версия Модх 0.9.6.3р1 :

              PHP error debug
              Error: fopen(/home/u76281/мой_сайт.ru/www/manager/includes/cachemysql/cache/peak.txt) [function.fopen]: failed to open stream: Permission denied
              Error type/ Nr.: Warning - 2
              File: /home/u76281/мой_сайт.ru/www/manager/includes/cachemysql/cachemysql.php
              Line: 126
              Line 126 source: $file=fopen($peak_filename, ’w’);
                • 24489
                • 60 Posts
                права на папку изменить, доступа на изменение нет.
                  Плагин для ресайза картинок AutoResizer
                  Сниппет для вывода полей документа DocInfo

                  Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
                  • 13889
                  • 39 Posts
                  Спасибо большое помогло .... Но теперь есть ряд вопросов:


                  1) в предыдущих постах Вы (Раритет) писали "на одном поставил время 432,000 секунд это 5 дней." - где выставлять это время ??
                  2) опять таки Ваши слова "ща делаю чтобы запросы которые старше 15 дней удалялись" - не секрет - сделали huh
                  3) сначала стояла версия 0.9.5 потом обновил до 0.9.6.3.1 потом до 0.9.6.3.2 и после этого данный архив с Кешированием залил на Хост .. все работает на УРА - вместе 8 запросов к базе на главной странице их стало всего 3 =) уже неплохо ... но есть одно маленькое НО ... куда то отвалился TinyMCE в админке ... файлы его есть на серваке ... в админке он не оттображается .. галочки везде стоят, что типа ЮЗАТЬ РЕДАКТОР .. ПОМОГИТЕ !!!!
                    • 24489
                    • 60 Posts
                    Quote from: jeff-sett at Dec 19, 2008, 02:04 PM

                    Спасибо большое помогло .... Но теперь есть ряд вопросов:


                    1) в предыдущих постах Вы (Раритет) писали "на одном поставил время 432,000 секунд это 5 дней." - где выставлять это время ??
                    2) опять таки Ваши слова "ща делаю чтобы запросы которые старше 15 дней удалялись" - не секрет - сделали huh
                    3) сначала стояла версия 0.9.5 потом обновил до 0.9.6.3.1 потом до 0.9.6.3.2 и после этого данный архив с Кешированием залил на Хост .. все работает на УРА - вместе 8 запросов к базе на главной странице их стало всего 3 =) уже неплохо ... но есть одно маленькое НО ... куда то отвалился TinyMCE в админке ... файлы его есть на серваке ... в админке он не оттображается .. галочки везде стоят, что типа ЮЗАТЬ РЕДАКТОР .. ПОМОГИТЕ !!!!

                    1. /manager/includes/cachemysql/cachemysql.php
                    66-я строка
                     function MySQLCache($query, $valid=432000){
                          if ($this->CachePath==''){
                             $this->CachePath=dirname(__FILE__);
                          }
                          $query=trim($query);
                          if (!eregi('^SELECT', $query)){
                             return mysql_query($query);
                          }
                          $filename=$this->CachePath.'/'.md5($query).'.txt';
                    

                    2. отговорили, и не делал, я ща посмотрю сколько файлов скопилось и может сделаю эту функцию.
                    3.если честно не знаю, не использую редактор, я верстаю на блочной, и нужно жётско теги писать, а этот редактор такое воротит впрочем как и все редакторы
                      Плагин для ресайза картинок AutoResizer
                      Сниппет для вывода полей документа DocInfo

                      Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
                      • 26486
                      • 63 Posts
                      Вот еще ссылочка в сторону ускорения работы MODx

                      Уменьшение размера siteCache.idx.php

                      http://modxcms.com/forums/index.php/topic,28110.0.html