Проблема с pdoResources + fenom + tplWrapper
Всем доброго, в общем после обновы на третью версию, pdoTools обновил до последней, часть работает а часть нет. Вот часть лога
[Mon Apr 18 12:08:18.175864 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: PHP Fatal error: Uncaught Error: Cannot access protected property ModxPro\\PdoTools\\Fetch::$config in /var/www/orange43/data/www/orange43.ru/core/cache/includes/elements/modx/revolution/modsnippet/72.include.cache.php:57, referer: orange43.ru/
[Mon Apr 18 12:08:18.176040 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: Stack trace:, referer: orange43.ru/
[Mon Apr 18 12:08:18.176316 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #0 /var/www/orange43/data/www/orange43.ru/core/src/Revolution/modScript.php(88): include(), referer: orange43.ru/
[Mon Apr 18 12:08:18.176711 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #1 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/src/CoreTools.php(386): MODX\\Revolution\\modScript->process(Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.177204 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #2 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/src/Parsing/Fenom/Fenom.php(540): ModxPro\\PdoTools\\CoreTools->runSnippet('!pdoResources', Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.177914 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #3 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487): eval()'d code(264): ModxPro\\PdoTools\\Parsing\\Fenom\\Fenom->ModxPro\\PdoTools\\Parsing\\Fenom\\{closure}('!pdoResources', Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.178428 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #4 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Render.php(215): Fenom\\Template->{closure}(Array, Object(Fenom\\Template)), referer: orange43.ru/
[Mon Apr 18 12:08:18.178842 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #5 /var/www in /var/www/orange43/data/www/orange43.ru/core/cache/includes/elements/modx/revolution/modsnippet/72.include.cache.php on line 57, referer: orange43.ru/
Вывод данных
[Mon Apr 18 12:08:18.176040 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: Stack trace:, referer: orange43.ru/
[Mon Apr 18 12:08:18.176316 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #0 /var/www/orange43/data/www/orange43.ru/core/src/Revolution/modScript.php(88): include(), referer: orange43.ru/
[Mon Apr 18 12:08:18.176711 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #1 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/src/CoreTools.php(386): MODX\\Revolution\\modScript->process(Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.177204 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #2 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/src/Parsing/Fenom/Fenom.php(540): ModxPro\\PdoTools\\CoreTools->runSnippet('!pdoResources', Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.177914 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #3 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487): eval()'d code(264): ModxPro\\PdoTools\\Parsing\\Fenom\\Fenom->ModxPro\\PdoTools\\Parsing\\Fenom\\{closure}('!pdoResources', Array), referer: orange43.ru/
[Mon Apr 18 12:08:18.178428 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #4 /var/www/orange43/data/www/orange43.ru/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Render.php(215): Fenom\\Template->{closure}(Array, Object(Fenom\\Template)), referer: orange43.ru/
[Mon Apr 18 12:08:18.178842 2022] [cgi:error] [pid 6281] [client 176.115.155.243:46588] AH01215: #5 /var/www in /var/www/orange43/data/www/orange43.ru/core/cache/includes/elements/modx/revolution/modsnippet/72.include.cache.php on line 57, referer: orange43.ru/
Вывод данных
{'!pdoResources' | snippet:['depth' => 1, 'parents' => 8, 'tpl' => '@INLINE {$pagetitle}', 'tplWrapper' => '@INLINE {$output}']}
Ошибка в кеше, удаление, чистка не дала результатов.if (!empty($tplWrapper) && (!empty($wrapIfEmpty) || !empty($output))) {
$output = $pdoFetch->getChunk($tplWrapper, array_merge($additionalPlaceholders, ['output' => $output]),
$pdoFetch->config['fastMode']);
}
Только у меня подобная беда??? Комментарии: 12
$pdoFetch->config['fastMode']
это как раз строка с ошибкой. Пробовал включить параметр, тоже самое.
Да, в pdoTools есть какая то проблема с параметром tplWrapper.
{'!pdoPage' | snippet:[
'parents' => $id,
'depth' => 0,
'element' => 'pdoResources',
'limit' => 10,
'tpl' => '@FILE chuncks/reviews/reviewPages.tpl',
'tplWrapper' => '@INLINE <div class="Our_Work_Service">{$output}</div>',
'tplPageWrapper' => '@INLINE <ul class="pagination pagination-sm">{$first}{$pages}{$last}</ul>',
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'includeTVs' => 'main_img',
'tvPrefix' => '',
'where' => ['published' => 1],
'includeContent' => 1,
'conetnt' => 1
]}
Удаляю данный параметр, тогда работае.'tplWrapper' => '@INLINE <div class="Our_Work_Service">{$output}</div>'
Если поле пустое, все работает, если нет, даже параметр @INLINE ведет к ошибке.
Сменил версию PHP на 8.1
Посыпались такие логи.
Посыпались такие логи.
[2022-04-18 16:04:16] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php : 666) Could not load class: FormIt from formit
[2022-04-18 16:04:16] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php : 1267) Problem getting service formit, instance of class FormIt, from path /var/www/orange43/data/www/orange43.ru/core/components/formit/model/formit/
[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 747 WHERE `id` = 253
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 747 WHERE `id` = 253
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 227) Error HY000 executing statement:
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
INSERT INTO `modx_session` (`id`, `access`, `data`) VALUES ('d55f6e33fef8be17f63de2b8eedcb95e', 1650287070, 'modx.user.contextTokens|a:1:{s:3:\"mgr\";i:1;}manager_language|s:2:\"en\";modx.user.0.resourceGroups|a:1:{s:3:\"mgr\";a:0:{}}modx.user.0.attributes|a:1:{s:3:\"mgr\";a:5:{s:32:\"MODX\\Revolution\\modAccessContext\";a:1:{s:3:\"web\";a:1:{i:0;a:3:{s:9:\"principal\";i:0;s:9:\"authority\";s:1:\"0\";s:6:\"policy\";a:1:{s:4:\"load\";b:1;}}}}s:38:\"MODX\\Revolution\\modAccessResourceGroup\";a:0:{}s:33:\"MODX\\Revolution\\modAccessCategory\";a:0:{}s:44:\"MODX\\Revolution\\Sources\\modAccessMediaSource\";a:0:{}s:34:\"MODX\\Revolution\\modAccessNamespace\";a:0:{}}}modx.mgr.user.token|s:52:\"modx625d30ab065401.22295830_1625d31db243da1.38310567\";modx.mgr.session.cookie.lifetime|i:0;modx.mgr.user.config|a:0:{}mobiledetect|a:1:{s:6:\"device\";s:8:\"standard\";}newResourceTokens|a:6:{i:0;s:23:\"625d45916ea0d1.85330396\";i:1;s:23:\"625d45a4a89fe4.48295787\";i:2;s:23:\"625d45b60e9680.02054450\";i:3;s:23:\"625d46c4d969c0.92288517\";i:4;s:23:\"625d46d2a19290.81738466\";i:5;s:23:\"625d46e476e4d4.49392677\";}')
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:04:30] (ERROR @ Unknown0) PHP warning: Unknown: Failed to write session data using user defined save handler. (session.save_path: /var/www/orange43/data/bin-tmp/)
[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 749 WHERE `id` = 253
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 749 WHERE `id` = 253
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 227) Error HY000 executing statement:
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
INSERT INTO `modx_session` (`id`, `access`, `data`) VALUES ('d55f6e33fef8be17f63de2b8eedcb95e', 1650287219, 'modx.user.contextTokens|a:1:{s:3:\"mgr\";i:1;}manager_language|s:2:\"en\";modx.user.0.resourceGroups|a:1:{s:3:\"mgr\";a:0:{}}modx.user.0.attributes|a:1:{s:3:\"mgr\";a:5:{s:32:\"MODX\\Revolution\\modAccessContext\";a:1:{s:3:\"web\";a:1:{i:0;a:3:{s:9:\"principal\";i:0;s:9:\"authority\";s:1:\"0\";s:6:\"policy\";a:1:{s:4:\"load\";b:1;}}}}s:38:\"MODX\\Revolution\\modAccessResourceGroup\";a:0:{}s:33:\"MODX\\Revolution\\modAccessCategory\";a:0:{}s:44:\"MODX\\Revolution\\Sources\\modAccessMediaSource\";a:0:{}s:34:\"MODX\\Revolution\\modAccessNamespace\";a:0:{}}}modx.mgr.user.token|s:52:\"modx625d30ab065401.22295830_1625d31db243da1.38310567\";modx.mgr.session.cookie.lifetime|i:0;modx.mgr.user.config|a:0:{}mobiledetect|a:1:{s:6:\"device\";s:8:\"standard\";}newResourceTokens|a:6:{i:0;s:23:\"625d45916ea0d1.85330396\";i:1;s:23:\"625d45a4a89fe4.48295787\";i:2;s:23:\"625d45b60e9680.02054450\";i:3;s:23:\"625d46c4d969c0.92288517\";i:4;s:23:\"625d46d2a19290.81738466\";i:5;s:23:\"625d46e476e4d4.49392677\";}')
Array
(
[0] => HY000
[1] => 2014
[2] => Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)
[2022-04-18 16:06:59] (ERROR @ Unknown0) PHP warning: Unknown: Failed to write session data using user defined save handler. (session.save_path: /var/www/orange43/data/bin-tmp/)
Если я отключу от шаблона все TV тогда все работает, но стоит добавить хоть одно TV выходит ошибка и на сайте 500 error.
добавил памяти, ничего не изменилась толи рекурсия какая то, толи хз что…
[Mon Apr 18 16:04:30.345433 2022] [cgi:error] [pid 26432] [client 176.115.155.243:52018] AH01215: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 223, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:06:59.528308 2022] [cgi:error] [pid 26632] [client 176.115.155.243:52040] AH01215: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 223, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:18:38.130300 2022] [cgi:error] [pid 27484] [client 176.115.155.243:52094] AH01215: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:18:55.597210 2022] [cgi:error] [pid 27507] [client 176.115.155.243:52102] AH01215: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:21:49.066552 2022] [cgi:error] [pid 27787] [client 176.115.155.243:52134] AH01215: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
А неплохо вы тут сам с собой общаетесь
конечно, ответить не кому =) проблема есть. решения нету…
Такая же проблема. Сделал тестовый пустой TV, прицепил к шаблону — перестает работать, ошибка 503. Отключаю ТВ — работает.
Есть идеи?
Есть идеи?
Открою секрет Cообщество не равно официальному репозиторию, где как раз фиксируются проблемы и их решают.
Вы сделаете большое дело если опишите и зарегистрируете проблему github.com/modxcms/revolution/issues/new?assignees=&labels=bug&template=bug_report.md
Вы сделаете большое дело если опишите и зарегистрируете проблему github.com/modxcms/revolution/issues/new?assignees=&labels=bug&template=bug_report.md
Привет, так надо в ветку про модх писать или феном?
*Есть кейс с похожей проблемой
*Есть кейс с похожей проблемой
Версия 3.0 еще официально не открыли для «безопасного» перехода на неё. Большие проекты, да и вообще кроме тестовых проектов желательно не переезжать пока что… Не все пакеты готовы к переезду… Уверен работы разработчикам хватает чтобы закрыть львиную долю багов и ошибок, ваше не исключение и вот сейчас не решить ваш вопрос. Прошу откатите на прежнюю версию «если есть такой вариант»
Откатить увы, не получится… С дуру бекап не сделал и накатил обнову. Пробовал откатить обновой ниже версии, толку ноль…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.