Updating feeds on shared hosting: basename() passing null

  • [ ] I’m using stock docker compose setup, unmodified.
  • [ ] I’m using docker compose setup, with modifications (modified .yml files, third party plugins/themes, etc.) - if so, describe your modifications in your post. Before reporting, see if your issue can be reproduced on the unmodified setup.
  • [ ] I’m not using docker on my primary instance, but my issue can be reproduced on the aforementioned docker setup and/or official demo.

My problem is likely specific to my shared hosting setup. I’ve just updated Tiny Tiny RSS going from some commit in October 2021 to the latest one (as of Aug 5th).

I’m using the updated Tiny Tiny RSS for almost a week now. Everything seems to be working, but every time there is a feed update, the “Event log” tab in Preferences is being spammed with these warning messages:

E_DEPRECATED (8192)
classes/diskcache.php:247
basename(): Passing null to parameter #1 ($path) of type string is deprecated

There is probably one warning created for every updated feed. I’m not sure which part of Tiny Tiny RSS is affected by this, outside of the updater, because I don’t see a single problem with feeds: updater finishes gracefully, there are unread articles, no duplicates, nothing is returning from been read.

I double checked the /cache directory just in case, seeing that there were updates to the cache implementation, and everything is writable (chmod 775). All the cached feeds are fresh.

This is cron task that updates the feeds:

/usr/bin/php /var/www/html/tt-rss.01/update.php --feeds

How can I diagnose and fix this problem? I’ve only found one other message mentioning a similar problem.


  • Tiny Tiny RSS version (including git commit id):

Tiny Tiny RSS v23.08-ba6a912 (Unsupported)

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

some Linux 5.4.251-1.el7.elrepo.x86_64
PHP Version 7.4.33
PostgreSQL(libpq) 11.20

I want to switch the PHP pool to 8.1 or even 8.2 once I figure this out.

this looks like a bug


	public function is_writable(?string $filename = null): bool {
		return $this->adapter->is_writable(basename($filename));
	}

we allow null values here (?string) which means check that cache directory is writable as opposed to specific file in the cache, but it gets passed through basename() which doesn’t allow null values. thus the warning.

i’ll make a note to fix this but this warning shouldn’t affect anything.

https://gitlab.tt-rss.org/tt-rss/tt-rss/-/commit/83f5ab5c79b2603b8861ad312ba780f1cb3b0c1e

This has fixed it for me. Thanks.

Works for me, too. Thanks fox!

btw php8.2 works well, thanks for well maintained software!