Maintenance & health
Health checks, data purges, the pseudo-cron scheduler and the PHP version guard.
A tube site is a moving target: PHP versions change, disks fill, caches grow stale and test data piles up before launch. TubePress gives you a single Maintenance tab to see the state of your server and to clean house safely — without shell access.
This page covers the built-in health check, the bulk purge tool, the scheduler that runs routine work, the PHP version guard that keeps a mismatched server from white-screening, and some habits for keeping your database lean.
Health check
Open /admin/settings and choose the Maintenance tab to run the health check. It probes dozens of things about your server and groups them into categories, each row showing the current value, what is recommended, and — when something is off — a copy-and-paste command to fix it. A banner at the top sums it up as All systems healthy, Some recommendations or Issues found.
Each check is one of three states:
The categories it reports on include:
- PHP & PHP Extensions — the PHP version plus the matrix of extensions (required:
pdo_mysql,mbstring,json,curl; recommended:fileinfo,intl,zip,zlib,gd,openssl,ftp), each annotated with the feature it powers. - PHP Config —
memory_limit,max_execution_time,upload_max_filesize,post_max_size,max_input_vars,allow_url_fopenandfile_uploads. - Permissions — that
storage/andpublic/uploads/are writable (plus optional directories for imports, backups and the theme editor). - Database — connection, MySQL version and the
utf8mb4charset. - Security — HTTPS,
display_errorsandexpose_php. - Performance, System Tools & Disk Space — OPcache, the PHP CLI binary, FFmpeg/FFprobe, the download-queue workers and free disk on the uploads volume.
intl being present on the old PHP but missing on the new one.Purge & cleanup
The Purge section of the Maintenance tab is a danger zone for permanently bulk-deleting whole categories of data. Tick the data types you want gone, type DELETE to confirm, and they are removed. You can clear any of:
- Videos (and their comments, likes, favourites and history), Categories, Tags, Pornstars and Channels
- Comments, Pages and Import Jobs (the imported videos themselves are kept)
- Users — non-admin accounts only; administrator accounts are always preserved
Deletion runs in small, server-bounded chunks behind a single-flight lock, so even a catalogue of millions of rows clears without timing out a request or blocking the live site. It is the fastest way to wipe seed or demo content before launch.
The pseudo-cron
Routine work — recalculating rankings, dispatching transcode jobs, running imports, refreshing sitemaps and cleaning up after itself — is handled by a built-in scheduler that needs no system crontab. It ticks over on page renders and is kept alive by a lightweight heartbeat, so scheduled tasks just happen, even on shared hosting.
The full story, including the optional CLI scripts for advanced hosts, is on the Cron & CLI page.
The PHP version guard
TubePress requires PHP 8.2 or newer. To make a version mismatch friendly instead of fatal, a tiny guard runs at every entry point before the application boots. It is written in deliberately ancient, PHP 5-compatible syntax so it parses on any PHP version — which means a server running too old a PHP shows a clean "PHP upgrade required" page (with an HTTP 500 and a Retry-After hint) instead of a raw parse error or a blank white screen. On the command line it prints the same message to standard error.
Keeping the database tidy
A little routine hygiene keeps queries fast and backups small:
- Back up before bulk changes. Any purge, import or update is safer with a fresh backup in hand.
- Clear test data before launch with the Purge tool, so your live catalogue starts clean.
- Let the scheduler do the housekeeping. Recurring cleanup runs automatically through the pseudo-cron — you do not need to prune logs or caches by hand.
- Keep the charset on
utf8mb4(the health check confirms this) so every language and emoji stores correctly.
Next steps
Still stuck?
Open a ticket from your dashboard and our team will help you out.