Плагин JCH Optimize

zavrus

Гуру форума
Регистрация
29 Май 2009
Сообщения
176
Реакции
81
Description
JCH Optimize is a Joomla! system plugin that can optimize web page downloads by aggregating and minifying css and javascript files found in the head section of the web page. By combining these files together as one you minimize the total amount of http connections that has to be made in downloading a webpage and utlimately reduce the total download time. The download is further optimized and speedened by an option to minify the aggregated css or javascript file or even the html output. For a more detailed description on the inner workings of the plugin, read the section on how the plugin works.

Features
  • Combine javascript/css files into one
  • Combine background images
  • Minify aggregated files
  • Gzip combined javascript or css file
  • Exclude certain files from the aggregating process if these cause problems
  • Exclude one or more components if plugin doesn't work well with them
  • Can produce an aesthetic 'flat link' url for aggregated file with the use of htaccess
Installation
Installation is like any other Joomla! extension. Just download the zip file and use the Joomla installer to install. From the administrator panel, choose Extensions -> Install/Uninstall and then using the upload package option just click choose file to find the location of the downloaded zip file to upload and install.
[/spoil]


[spoil]Про версия
 
Пришлось отказаться от использования этого плагина, уж очень сильно выросла нагрузка, местами в 3 - 4 раза выше чем без него, если так дело пойдет дальше, то хостер заставит переходить на другой тариф, а это будет очень дорого и не стоит того.
Для сайтов с посещаемостью до 1000 или 2000 человек плагин очень нужный, реально ускоряет и сжимает скрипты и тд., короче все делает правильно.
Вам надо поставить компонент jotcache он снизит нагрузку на сервер у меня хостер постоянно ругался из за этого.
 
У меня такая проблемка:
На сайте установлен JCH Optimize Pro а также JotCache. Всё супер, сайт летает, высокие показатели на google page speed.
Но по истечению около 5 дней, кэша накапливается на столько много, что идёт превышение лимита дискового пространства на хостинге, и мне приходится 1 раз в 5 дней заходить на сайт только лишь для того чтобы нажать на кнопку в JCH Optimize Pro "Clean Cache".
29R4i.jpg

Количество кэша порой достигает 500 мегабайт, что приводит к практически "отключению" сайта на хостинге.
Я думал, что установленный дополнительный плагин JotCache будет автоматически очищать кэш через каждые 15 мин. (как я задал), но НЕТ. Мне приходится очищать кэш каждые 5 дней самостоятельно нажав на кнопку выше. Естественно, это очееень не удобно, так как кроме своих сайтов у меня куча клиентских.
Вопрос:
Можно ли как то сделать автоматическую очистку кэша в JCH Optimize Pro ?
 
По идее в Cron команду добавить Для просмотра ссылки Войди или Зарегистрируйся (только ссылка для своего сайта)) не знаю, правда, как дела с авторизацией будут обстоять в админке....
Но только смысл это делать, сайт и работает быстрее из-за кеширования.... т.е. это лишняя нагрузка на сервак - лучше смотри чего он кеширует на такой объём?)
 
На первой странице плагина в самом низу есть такое окошко Lifetime (days) у меня по умолчанию стоит 30 дней. Можно попробовать изменить кол-во дней.У себя такой проблемы не замечал.
 
Вам надо поставить компонент jotcache он снизит нагрузку на сервер у меня хостер постоянно ругался из за этого.
Спасибо за подсказку.

Про jotcache читал и хотел уже его устанавливать, а потом решил попробовать стандартный кэш joomla и не прогадал, нагрузка упала более чем в два раза если смотреть по среднему.

было 78 (CP) стало 32 (CP)

кэш включен уже недели три и никаких багов не обнаружено, думаю jotcache мне не нужен, все и так отлично работает.

Плагин кэширования не включал, включил только стандартный кэш в общих настройках joomla
 
Берите хостинг обязательно на SSD, тогда стандартный файловый кэш будет работать очень быстро, практически на уровне XCache, Memcache и т.п. (заодно на оперативной памяти сэкономите). А с jotcache очень тяжело работать, т.к. он постоянно пытает кэшировать то, что не надо, что ему запрещаешь, и все равно он это кэширует:(
 
JCH Optimize 4.2.3 pro
Для просмотра ссылки Войди или Зарегистрируйся


JCH Optimize 4.2.4 pro
Для просмотра ссылки Войди или Зарегистрируйся


JCH Optimize 5.0.1 pro
Для просмотра ссылки Войди или Зарегистрируйся


JCH Optimize 5.0.3 pro
Для просмотра ссылки Войди или Зарегистрируйся


JCH Optimize 5.0.4 pro
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
В этом находит

VEXE368.Webshell
а вот в этом не находит

JCH Optimize 5.0.4 pro
Для просмотра ссылки Войди или Зарегистрируйся



Почему ?*
Bkav самый ...тый антивирус - вот тот файл на который он орет:
PHP:
<?php

/**
* JCH Optimize - Joomla! plugin to aggregate and minify external resources for
* optmized downloads
*
* @author Samuel Marshall <sdmarshall73@gmail.com>
* @copyright Copyright (c) 2014 Samuel Marshall
* @license GNU/GPLv3, See LICENSE file
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* If LICENSE file missing, see <http://www.gnu.org/licenses/>.
*/
defined('_JEXEC') or die;

if (version_compare(PHP_VERSION, '5.3.0', '<'))
{

        class JFormFieldOptimizeimages extends JFormField
        {

                public $type = 'optimizeimages';

                protected function getInput()
                {
                       
                }

        }

}
else
{
        include_once dirname(__FILE__) . '/auto.php';

        class JFormFieldOptimizeimages extends JFormFieldAuto
        {

                public $type = 'optimizeimages';

                /**
                 *
                 * @return type
                 */
                protected function getInput()
                {
                        $curl_enabled = function_exists('curl_version') && curl_version();
                        $allow_url_fopen = (bool) ini_get('allow_url_fopen');
                       
                        if ($curl_enabled && $allow_url_fopen)
                        {
                                if (JFactory::getApplication()->input->get('jchtask') == 'optimizeimages')
                                {
                                        $this->optimizeImages();
                                }

                                $field = '<div id="optimize-images-container" >'
                                        . '<div id="file-tree-container"></div>';
                               
                                $field .= '<div id="files-container"></div>';

                                $field .= parent::getInput();
                                $field .= '<div style="clear:both"></div>';
                                $field .= '</div>';
                        }
                        else
                        {
                                $header  = JText::_('Error');
                                $message = !$allow_url_fopen ? JText::_('JCH_OPTIMIZE_IMAGE_NO_URL_FOPEN_MESSAGE') : '';
                                $message = !$curl_enabled ? JText::_('JCH_OPTIMIZE_IMAGE_NO_CURL_MESSAGE'): $message;

                                if (version_compare(JVERSION, '3.0', '<'))
                                {
                                        $field = '<dl id="system-message">
<dt class="message">' . $header . '</dt>
<dd class="message warning">
    <ul>
        <li>' . $message . '</li>
    </ul>
</dd>
</dl>';
                                }
                                else
                                {
                                        $field = '<div class="alert">
<h4 class="alert-heading">' . $header . '</h4>
        <p>' . $message . '</p>
</div>';
                                }
                        }

                        return $field;
                }

                /**
                 *
                 * @return string
                 */
                protected function getButtons()
                {
                        $page = JURI::getInstance()->toString() . '&jchtask=optimizeimages';

                        $aButton              = array();
                        $aButton[0]['link']   = '';
                        $aButton[0]['icon']   = 'fa-compress';
                        $aButton[0]['color']  = '#278EB1';
                        $aButton[0]['text']   = JchPlatformUtility::translate('Optimize Images');
                        $aButton[0]['script'] = 'onclick="jchOptimizeImages(\'' . $page . '\'); return false;"';
                        $aButton[0]['class']  = 'enabled';

                        return $aButton;
                }

                /**
                 *
                 */
                protected function optimizeImages()
                {
                        $arr = JFactory::getApplication()->input->getArray(
                                array('dir' => 'string', 'cnt' => 'int', 'status' => 'string', 'msg' => 'string'));

                        $oController = new JControllerLegacy();

                        if ($arr['status'] == 'fail')
                        {
                                $oController->setMessage(JText::_('The Optimize Image function failed with message "' . $arr['msg'] . '"'),
                                                                          'error');
                        }
                        else
                        {
                                $dir = JchPlatformUtility::decrypt($arr['dir']);

                                $oController->setMessage(sprintf(JText::_('%1$d images optimized in %2$s'), $arr['cnt'], $dir));
                        }

                        $this->display($oController);
                }

        }

}

?>
И только и за этого <sdmarshall73@gmail.com>
 
Назад
Сверху