Description
Bright Labs Compatibility Scanner for PHP helps you find PHP 8.2 to 8.5 problems in your plugins and themes with static analysis, and warns you about plugin and theme updates with known problems on your server’s PHP version. It never stops, delays or changes an update: installing it is always your choice.
Static analysis reads code without running it. It can miss problems and it can flag false positives, so treat a result as a pointer to where to look, not a verdict. A clean result reads “No known problems found”: the scanner found nothing it knows about, which is not proof that nothing is wrong.
The scanner runs inside PHP on your server. It does not need exec() or shell access.
Tools > Bright Labs Compatibility Scanner for PHP
- Your server: the PHP version running now, its end-of-life date and its support status.
- Scan: pick a PHP version from 8.2 to 8.5 and scan every installed plugin and theme. Scan skips items that already have a result for that version. Rescan all checks everything again.
- Results: one row per plugin or theme with its version and one verdict: No known problems found, Deprecation warnings, or Breaks.
- Update checks: offered updates whose pre-scan found errors on your PHP version, and updates still waiting for a check.
- Settings: the opt-in update pre-scan, described below.
- Upgrade to Pro: plans and links.
Plugins screen
Each scanned plugin gets a link in its row that reads, for example, “PHP 8.3: no known problems”. It opens Tools > Bright Labs Compatibility Scanner for PHP.
End-of-life notice
When the PHP version running on your site has reached end of life, or is close to it, administrators see a notice on the Dashboard and the Plugins screen. The notice names the version and its end-of-life date. You can dismiss it.
Update warnings
Bright Labs Compatibility Scanner for PHP can check plugin and theme updates before you install them. Turn on “Check offered updates before they install” under Tools > Bright Labs Compatibility Scanner for PHP > Settings (off by default). Once an hour, Bright Labs Compatibility Scanner for PHP then downloads each update WordPress offers and scans it for the PHP version running on your server. See “External services”.
When a check finds errors, a warning appears on the Dashboard > Updates screen and, for plugins, on the Plugins screen. It names each update, the number of errors found, and links to the findings in Tools > Bright Labs Compatibility Scanner for PHP. The warning is information only: Bright Labs Compatibility Scanner for PHP never stops, delays or changes an update, manual or automatic, and adds no hook to the WordPress update process.
Upgrade to Pro
The free plugin keeps every scan, result and update-check feature. Pro adds a weekly rescan against the next PHP version with an email alert, a log of PHP deprecation notices grouped by plugin, a check whether a plugin from WordPress.org that fails a scan is fixed in a newer version, and an exportable client report.
Planned prices, not final: Bright Labs Compatibility Scanner Pro is $9/month per site. Bright Labs Compatibility Scanner Agency is $49/month for up to 25 sites, with the same features. Pricing and checkout are on brightlabs.app: https://brightlabs.app/apps/phpready/pro/ (Pro) and https://brightlabs.app/apps/phpready/ (Agency, sold by email). The plugin sends nothing to brightlabs.app; those pages open only when you click a link.
Want it fixed for you?
Under the scan results, one link opens a paid done-for-you PHP upgrade on Fiverr, from $35, tested on staging first. It is offered by the person behind Bright Labs, selling on Fiverr. The plugin sends nothing to Fiverr; the page opens only when you click the link.
External services
The pre-scan is off by default. Bright Labs Compatibility Scanner for PHP makes no external request until you turn it on: Tools > Bright Labs Compatibility Scanner for PHP, Settings, “Check offered updates before they install”. When it is on, Bright Labs Compatibility Scanner for PHP downloads update packages so it can check them against your server’s PHP version before you install them, under these limits:
- It downloads only from the package URL in WordPress’s own update offer. That is WordPress.org for plugins and themes hosted there, or the vendor’s own server for plugins and themes that bring their own updates.
- It downloads only when WordPress has offered an update. With no update on offer, it makes no request.
- It sends nothing of its own with the request: no site data, no list of your plugins, no usage data.
- It reads the PHP files inside the downloaded zip in memory and never unpacks the package to disk. It stores the result in your database and deletes the zip.
- If a package cannot be downloaded or read, it tries again later and gives up after three tries for that update.
The server that hosts a package sees an ordinary download request from your site, the same as when WordPress downloads the update itself. For WordPress.org, see the privacy policy at https://wordpress.org/about/privacy/. For vendor servers, see that vendor’s privacy policy.
Credits
Bright Labs Compatibility Scanner for PHP bundles two open-source projects as its scan engine, in the vendor/brightlabs-scan-engine folder:
- PHP_CodeSniffer, licensed BSD-3-Clause: https://github.com/PHPCSStandards/PHP_CodeSniffer
- PHPCompatibility and PHPCSUtils, licensed LGPL-3.0-or-later: https://github.com/PHPCompatibility/PHPCompatibility
They are runtime code, not development tools: includes/engine.php loads them inside WordPress on every scan. Only files the scan can load at runtime are included: no tests, docs, command-line tools or unused coding standards. The readme.txt in that folder lists each library with its version, license and source, and its composer.json names the exact packages.
Privacy
Bright Labs Compatibility Scanner for PHP sets no cookies, has no tracking and collects no personal data. Its only external request is the optional pre-scan, off by default, which downloads update packages that WordPress has offered, described under “External services”. On uninstall it removes its own phpready_ options and its phpready_results table.
Installation
- Upload the
brightlabs-compatibility-scannerfolder to/wp-content/plugins/, or install it from the Plugins screen. - Activate the plugin.
- Open Tools > Bright Labs Compatibility Scanner for PHP and choose Scan.
FAQ
-
Can static analysis be wrong?
-
Yes. Static analysis reads code without running it, so it can miss problems, for example code that builds a function name while it runs. It can also flag false positives, for example code that checks the PHP version before it uses a newer feature. Use the findings to decide where to look, and test on a staging copy of your site before you rely on a result.
-
Does it need exec() or shell access?
-
No. The scanner runs inside PHP on your server. Bright Labs Compatibility Scanner for PHP does not call
exec(),shell_exec()or any other shell command. -
Will it stop an update?
-
No. Bright Labs Compatibility Scanner for PHP never stops, delays or changes a WordPress update. When the opt-in pre-scan found errors in an offered update, it shows a warning on the Updates and Plugins screens. Whether to install the update is your choice; test it on a staging copy of your site first if you can.
-
Does it send data anywhere?
-
No. It has no tracking and collects no data. It makes no network request unless you turn on the pre-scan, which is off by default. Then it downloads update packages that WordPress has offered, from the URL in that offer. See “External services”.
-
What happens when I uninstall it?
-
Deleting the plugin drops the scan results table, deletes all its options and the user meta that remembers a dismissed end-of-life notice, and deletes any update zip a pre-scan left in the temp folder. It also stops the hourly WP-Cron job.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Bright Labs Compatibility Scanner for PHP” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Bright Labs Compatibility Scanner for PHP” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.2
- Update checks only warn: a pre-scan that found errors shows a notice on the Updates and Plugins screens. Bright Labs Compatibility Scanner for PHP no longer hooks into the WordPress update process.
- The bundled scan engine sits in one folder, vendor/brightlabs-scan-engine, with a readme naming each library. PHPUnit test helpers removed.
0.1.1
- The update pre-scan is now off by default. Turn it on in Tools > Bright Labs Compatibility Scanner for PHP > Settings.
- The pre-scan reads update packages in memory and no longer unpacks them to disk.
- Smaller bundled scan engine.
0.1.0
- First release: scan installed plugins and themes for PHP 8.2 to 8.5 problems, a verdict badge on the Plugins screen, and a PHP end-of-life notice.
