[SOLVED] PHP Fatal error: Class 'Logger_SQL' not found


Describe the problem you’re having:

  • I’m unable to see any articles in my TT-RSS
    Seeing error of "Could not update headlines (invalid object received…) when attempting to view articles.

  • When attempting to run:
    $ php ./update.php --force-update
    [18:10:17/4670] Lock: update.lock
    [18:10:17/4670] marking all feeds as needing update…
    PHP Fatal error: Class ‘Logger_SQL’ not found in /var/www/Tiny-Tiny-RSS/classes/logger.php on line 47

If possible include steps to reproduce the problem:

  • php ./update.php --force-update

tt-rss version (including git commit id):

  • $ sudo git status
    On branch master
    Your branch is up-to-date with ‘origin/master’.

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:

  • mysql Ver 14.14 Distrib 5.5.60, for debian-linux-gnu (x86_64) using readline 6.3
  • PHP 5.5.9-1ubuntu4.25 (cli) (built: May 10 2018 14:37:18)

Please provide any additional information below:

Lines in /var/www/Tiny-Tiny-RSS/classes/logger.php

function __construct() {
                switch (LOG_DESTINATION) {
                case "sql":
                        $this->adapter = new Logger_SQL();
                case "syslog":
                        $this->adapter = new Logger_Syslog();
                        $this->adapter = false;


UPDATE: this is sometimes random:

Seeing error of "Could not update headlines (invalid object received…) when attempting to view articles.


Your setup does not meet the requirements for TT-RSS.

Please at least check the wiki before posting.


i think we technically still support php 5.5 (readability not gonna work, everything else should)

then again it’s not like i have anything old enough to test this on, so it might be broken.

your server refuses to load php classes randomly? hope you have backups.


I was afraid of this and looks like this will get me to move over to new Ubuntu

Yep, backups fine :slight_smile:

Thanks all. - Welcome to close this.


Ahh, right.

(And I, also, haven’t used 5 in forever because 7 is so much faster.)

Check permissions, outside of those I can’t think of any other reason it wouldn’t be able to include the files. It’s technically possible you’re hitting some file system limits (number of open files, etc.) but I think file system damage is probably more likely. The PHP process and TT-RSS daemon both need to be able to read the files. Make sure you have no scripts, etc. that change permissions.



I migrated over to a new Ubuntu and also now using PHP 7.

I also think “php ./update.php --force-update” maybe not in use anymore too?


what do you mean?


$ php -version
PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies   

 $ php ./update.php --force-update
    [09:29:16/22467] Lock: update.lock
    [09:29:16/22467] marking all feeds as needing update...
    PHP Fatal error:  Uncaught Error: Class 'Logger_SQL' not found in /var/www/Tiny-Tiny-RSS/classes/logger.php:47
    Stack trace:
    #0 /var/www/Tiny-Tiny-RSS/classes/logger.php(59): Logger->__construct()
    #1 /var/www/Tiny-Tiny-RSS/include/errorhandler.php(43): Logger::get()
    #2 /var/www/Tiny-Tiny-RSS/include/autoload.php(5): ttrss_error_handler(8, 'Undefined offse...', 'include/autoloa...', 5, '1. include/auto...')
    #3 [internal function]: {closure}('Logger_SQL')
    #4 /var/www/Tiny-Tiny-RSS/classes/logger.php(47): spl_autoload_call('Logger_SQL')
    #5 /var/www/Tiny-Tiny-RSS/classes/logger.php(59): Logger->__construct()
    #6 /var/www/Tiny-Tiny-RSS/include/errorhandler.php(66): Logger::get()
    #7 [internal function]: ttrss_fatal_handler()
    #8 {main}
      thrown in /var/www/Tiny-Tiny-RSS/classes/logger.php on line 47

However it looks like it does work for:

$ php update_daemon2.php --force-update
[09:29:59/22482] Spawn interval: 120 sec
[09:29:59/22482] [MASTER] active jobs: 0, next spawn at -1531906080 sec.
[09:29:59/22482] [MASTER] installing shutdown handlers
[09:29:59/22482] [MASTER] spawned client 0 [PID:22483]...
[09:29:59/22482] [MASTER] spawned client 1 [PID:22484]...
[09:29:59/22487] Using task id 1
[09:29:59/22487] Lock: update_daemon-22484.lock
[09:29:59/22487] Waiting before update (5)
[09:29:59/22488] Using task id 0
[09:29:59/22488] Lock: update_daemon-22483.lock
[09:29:59/22488] Waiting before update (0)
[09:29:59/22488] Scheduled 50 feeds to update...


hmm this looks like a bug with update.php (more like an autoloader bug)


https://git.tt-rss.org/fox/tt-rss/commit/a2d1fa5b14104013bab8ca4d9d5e115ebedaab42 fix


Not sure if this is related however getting a pop-up at the bottom saying:

Update daemon is not updating feeds.

Feed is clearly updating using php update_daemon2.php:

[16:15:30/25686] Processed 2 feeds in 0.3925 (sec), 0.1962 (sec/feed avg)
[16:15:30/25686] Running housekeeping tasks for user 2...
[16:15:30/25686] Sending digests, batch of max 15 users, headline limit = 1000
[16:15:30/25686] All done.
[16:15:30/25686] cache/simplepie: removed 0 files.
[16:15:30/25686] cache/feeds: removed 0 files.
[16:15:30/25686] cache/images: removed 0 files.
[16:15:30/25686] cache/export: removed 0 files.
[16:15:30/25686] cache/upload: removed 0 files.
[16:15:30/25686] Removed 0 old lock files.
[16:15:30/25686] Removing old error log entries...
[16:15:31/25686] Feedbrowser updated, 354 feeds processed.
[16:15:31/25686] Purged 0 orphaned posts.
[16:15:31/25686] Removed 0 (feeds) 0 (cats) orphaned counter cache entries.
[16:15:33/25549] [reap_children] child 25681 reaped.
[16:15:33/25549] [SIGCHLD] jobs left: 1
[16:15:35/25685] warning: unable to create stampfile


[16:15:35/25685] Scheduled 0 feeds to update...
[16:15:35/25685] Sending digests, batch of max 15 users, headline limit = 1000
[16:15:35/25685] All done.
[16:15:36/25549] [reap_children] child 25682 reaped.

In my T-RSS site, feeds are populating in the Fresh Articles


check permissions on lock directory (and its contents) and the faq