↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2019-02-11(Mon) tt-rss 18へupgradeで画面でなくなる [長年日記]

Debian Packetのupgradeに伴い tt-rssを17.4から18.12にupgradeしたら、phpmailerは使わなくなり、Debian Pakcege依存での問題はなくなったのだけど、Webアクセスに行くと500エラーとなる。

[Tue Feb 11 13:26:08.708664 2019] [proxy_fcgi:error] [pid 13904:tid 139789892630272] [client 127.0.0.1:197] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'context' at row 1 in /usr/share/tt-rss/www/classes/logger/sql.php:18

Stack trace:

#0 /usr/share/tt-rss/www/classes/logger/sql.php(18): PDOStatement->execute(Array)

#1 /usr/share/tt-rss/www/classes/logger.php(28): Logger_SQL->log_error(8192, 'strpos(): Non-s...', 'vendor/JShrink/...', 184, '1. vendor/JShri...')

#2 /usr/share/tt-rss/www/include/errorhandler.php(43): Logger->log_error(8192, 'strpos(): Non-s...', 'vendor/JShrink/...', 184, '1. vendor/JShri...')

#3 [internal function]: ttrss_error_handler(8192, 'strpos(): Non-s...', 'vendor/JShrink/...', 184, '1. vendor/JShri...')\n

#4 /usr/share/tt-rss/www/vendor/JShrink/Minifier.php(184): strpos('(-+{[@', false)

#5 /usr/share/tt-rss/www/vendor/JShrink/Minifier.php(144): JShrink\\Minifier->loop()

#6 /usr/share/tt-rss/www/vendor/JShrink/Minifier.php(110): JShrink\\Minifier->minifyDirectToOutput('/* global dijit...', Array)

#7 ...'

というエラー。

「1406 Data too long for column 'context'」ということでどうやらLogを記録するために error_log に書き込む時にログメッセージであるcontextが長すぎたようなのでsubstr()で、MySQL text型の最長の65536文字に制限するバッチを/usr/share/tt-rss/www/classes/logger/sql.phpに当てた

--- sql.php.org 2018-11-30 23:02:05.000000000 +0900

+++ sql.php 2019-02-11 14:29:30.216183169 +0900

@@ -15,7 +15,7 @@

$sth = $this->pdo->prepare("INSERT INTO ttrss_error_log

(errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES

(?, ?, ?, ?, ?, ?, NOW())");

- $sth->execute([$errno, $errstr, $file, $line, $context, $owner_uid]);

+ $sth->execute([$errno, $errstr, $file, $line, substr($context,0,65535), $owner_uid]);

return $sth->rowCount();

}

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索