Помогите выяснить в чем проблема

Сайт открывается очень долго примерно 5-6 секунд. Причем главную страницу секунды 4-5. потом уже за секунду подгружается все остальное. У кого может быть ошибка у меня или у хостера? хостинг в мастерхосте. Посмотрел лог ошибок, а он с декабря месяца весит уже 75мб.

[2015-03-24 11:42:29] (ERROR @ /index.php) Problem getting service pdoTools, instance of class pdoTools, from path 
[2015-03-24 11:42:30] (ERROR @ /index.php) Could not load class: pdoTools from pdotools.
[2015-03-24 11:42:30] (ERROR @ /index.php) Problem getting service pdoTools, instance of class pdoTools, from path 
[2015-03-24 11:42:30] (ERROR @ /index.php) Could not load class: pdoTools from pdotools.
[2015-03-24 11:42:30] (ERROR @ /index.php) Problem getting service pdoTools, instance of class pdoTools, from path 
[2015-03-24 11:45:02] (ERROR @ /index.php) Could not load class: pdoTools from pdotools.
[2015-03-24 11:45:02] (ERROR @ /index.php) Problem getting service pdoTools, instance of class pdoTools, from path 
[2015-03-24 11:45:02] (ERROR @ /index.php) Could not load class: pdoTools from pdotools.
[2015-03-24 11:45:02] (ERROR @ /index.php) Problem getting service pdoTools, instance of class pdoTools, from path 

На чьей стороне может быть косяк? Что не так с pdotools? вроде как его у меня вообще нет

Comments

Та же беда, проблемы начались после того, как поставил Ajaxform. Попробовал деинсталировать, все встало на свои места. ошибки пробали. Если кто-то решит проблему отпишитесь в ветке.

Отвечаю сам себе))) Может кому-то будет нужно. Вся беда из-за того, что сниппет AjaxForm проверяет наличие какого-то pdoTools. Решил я этот pdoTools поставить, после чего сайт вообще отказался работать. В общем это чудное приложение (pdoTools) я решил удалить, чтобы не усложнять себе жизнь.

Дальше залез в сниппет AjaxForm, нашел там проверку этого пдоТулса и закомментировал.

Было:

/** @var pdoTools $pdo */
if ($pdo = $modx->getService('pdoTools')) {
    $content = $pdo->getChunk($tpl, $scriptProperties);
}
/** @var modChunk $chunk */
elseif (!$content = $modx->getChunk($tpl, $scriptProperties)) {
    return $modx->lexicon('af_err_chunk_nf', array('name' => $tpl));
}

Стало:

/** @var pdoTools $pdo */
//if ($pdo = $modx->getService('pdoTools')) {
//    $content = $pdo->getChunk($tpl, $scriptProperties);
//}
/** @var modChunk $chunk */
if (!$content = $modx->getChunk($tpl, $scriptProperties)) {
    return $modx->lexicon('af_err_chunk_nf', array('name' => $tpl));
}

Я не программист, но думаю этот код еще как-то укоротить можно, но после этого ошибки пропали.

Погуглите про pdoTools. Про него много информации в сети есть. Но мы его не используем. И AjaxForm тоже. Мы использует form-процессор. Если у вас используется сборка ShopModxBox, то вот пример Ajax-запроса на него:

$('.my_form [type=submit]').on('click', function(e){
    var form = $(this).parents('form:first');
    var data = form.serialize();
    var action = 'login';
    ShopMODX.Request.run(action, data).
        then(function(resp){
            if(resp.success){
                alertify.success(resp.message || "Вы успешно авторизованы!");
            }
        });
    return false;
});

Да мне нужно было чтобы форма отправки письма работала через Ajax и всё. Там снипет в 25 строчек, который работает с fjrmit в паре, зачем мне усложнять жизнь с каким-то pdoTools))) Стер три строчки, как показал выше, ошибки пропали, отписал тут, чтобы люди быстрее проблемы решали и дальше работать)))

зачем мне усложнять жизнь с каким-то pdoTools)))

Вам может и не за чем, а вот это чей-то маркетинговый ход :) Этот pdoTools суется в кучу различных пакетов и где он нужен, и где не нужен. Цель — много-много скачиваний :)

К сожалению, MODX не умеет из коробки работать с @INLINE чанками, и если пользователи просят такой функционал — я подключаю pdoTools. А с новой версии к поддержке @INLINE добавляется заодно и поддержка Fenom — у всех, кто использует этот ненужный компонент.

Другой вопрос, нафига вообще MODX спамит в логи о незагруженном сервисе, да еще и в LOG_LEVEL_ERROR? Придётся добавить дополнительную проверку.

Цель — много-много скачиваний

Каждый вечер медитирую на количество скачиваний, без этого вообще не заснуть.

Каждый вечер медитирую на количество скачиваний, без этого вообще не заснуть.

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

так что не расстраивайся, это не зазорно

Чего мне расстраиваться?

Сразу выложил новую версию AjaxForm в два репозитория и теперь количество закачек еще возрастёт! Всё ради них, родных.