Linux 软件免费装
Banner图

TroubleLens – Conflict Detector

开发者 som9663
更新时间 2026年10月1日 23:26
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

debug troubleshooting conflict site health diagnostics

下载

1.0.1 1.0.2

详情介绍:

The usual way to find a plugin conflict is to deactivate plugins one at a time and see what changes. On a live site that means taking features away from real visitors and customers while you experiment. TroubleLens does the same investigation without that cost. It gives you a private troubleshooting session: plugins you switch off stop loading for your requests only. Everyone else — visitors, customers, other administrators, search engines, scheduled tasks — continues to get the site exactly as it is. The list of active plugins in your database is never changed. How it works Starting a session writes one small must-use plugin and sets a cookie in your browser. On requests carrying that cookie, WordPress is told a different list of active plugins. That is the only supported way to do this: the plugin list is read before any normal plugin has loaded, so the code doing the filtering has to already be running. What it does What it will not do This is a diagnostic tool, so it does not change things it is measuring: Privacy TroubleLens has no telemetry, no tracking and no advertising, and contacts no third party service. The HTTP requests it makes go to your own site and nowhere else: to your REST API, to check that it answers, and to your own pages, to time them or to see whether a symptom is still there. If you switch on Watch after updates, it also requests the pages you chose after each update, as a visitor would, and emails the site's own address about one that stopped working if you asked it to. There are exactly three exceptions, and each only happens when you press the button that causes it. The outgoing mail check sends a single message to the email address on your own account, so that a site whose mail is broken finds out before its customers do. It carries nothing about your site beyond its name. The core file check asks WordPress.org for the list of checksums published for your exact version, and compares the files here against it. All it sends is the version and language needed to identify which list to return. Your own themes, plugins and uploads are never checked, because nobody publishes checksums for those. Testing an earlier version downloads that version of the plugin from downloads.wordpress.org. The request names the plugin and the version, and nothing else about your site. Support reports are built and rendered on your server. Nothing is transmitted anywhere; you copy or download the report and send it yourself. Before it is shown to you, passwords, salts, authentication keys, tokens, API keys and payment gateway credentials are removed, email addresses are replaced, and absolute server paths are made relative.

安装:

  1. Upload the plugin through Plugins → Add Plugin → Upload Plugin, or install it from the plugin directory.
  2. Activate it.
  3. Open TroubleLens in the admin menu.
Activation writes nothing beyond a version marker. The must-use file that makes troubleshooting sessions work is only written when you start your first session, and is removed again when you deactivate the plugin.

屏幕截图:

  • Troubleshooting mode, with a per-plugin switch that applies to your session alone.
  • Guided isolation narrowing the candidates down by halves.
  • Diagnostics: REST API, WP-Cron, database, server settings, duplicate libraries and errors from the debug log.
  • The support report, with credentials and personal data already removed.

升级注意事项:

1.0.2 Finds both sides of a conflict and JavaScript problems, and can test a plugin's previous version for your session only. Fixes automatic isolation and load cost, which did not use your session in 1.0.1. 1.0.1 Renamed to TroubleLens, and a fatal error during your session is now recorded instead of leaving you with a blank page. 1.0.0 First release.

常见问题:

Will my visitors notice anything?

No. A troubleshooting session applies to requests that carry your session cookie. Every other request — every visitor, bot, cron run and other logged-in user — loads the site normally.

Can I break my site with this?

The session only affects you, so a mistake stays with you. If you switch off something your admin screens need, the recovery link on the troubleshooting screen ends the session before any plugin loads, so it works even when the site is returning a fatal error.

How do I get out if everything is broken?

In order of how little needs to be working: use the recovery link shown on the troubleshooting screen; clear this site's cookies in your browser; wait for the session to expire; add define( 'TROUBLELENS_DISABLE', true ); to wp-config.php; or delete wp-content/mu-plugins/troublelens-conflict-detector-loader.php. Deactivating the plugin does the last two for you.

Can I test the version of a plugin from before its last update?

Yes, for plugins hosted on WordPress.org, and once TroubleLens has seen the plugin updated. The earlier version is downloaded when you press the button and loaded for your session only; visitors keep the installed version. It runs against your real database, so anything it writes is written for everyone. Take a backup first, especially for shop, membership and course plugins whose updates change their data.

Does TroubleLens do anything on its own?

Only if you switch on Watch after updates. Then, a minute after each update, it requests the pages you chose the way a visitor would, and shows a notice if one that passed before now fails. Everything else happens when you press a button.

Can I browse the site logged out while a session is running?

No. The session is tied to your user account, and a request that is not you ends it. This is deliberate: it is what stops a leaked cookie applying to anybody else.

Why can't I switch off a must-use plugin?

Must-use plugins load before any code that could filter them, including this one. The same is true of drop-ins like object-cache.php. The overview screen lists them so you know what is outside the test.

Why did switching off one plugin switch off others?

Because they declare that they require it. WordPress deactivates dependents when a dependency goes, and a session does the same, or those plugins would be running against something that is not there — producing an error that looks exactly like the conflict you are hunting. The screen tells you which ones went and why.

Why can't I deactivate a plugin while a session is running?

You can deactivate a plugin you have not hidden. What is blocked is a plugin deactivating itself, which many do when a dependency is missing. Without that block, hiding WooCommerce for your own session would make its extensions switch themselves off for every visitor.

Does it work on multisite?

On multisite, only network administrators can start a session, and only the current site's own active plugins can be switched off. Network-activated plugins are listed and flagged but cannot be toggled.

Where do the error reports come from?

From the WordPress debug log, when WP_DEBUG_LOG is enabled, and from the extensions WordPress itself paused after catching a fatal error. The plugin will not enable debugging for you, because that means editing wp-config.php. The diagnostics screen lists exactly what this approach cannot see.

Built to be extended

The screens, the diagnostics, the findings and the report are all open to a plugin that wants to add to them, through documented filters and actions with tests that prove each one fires. Whatever an add-on contributes to a report is redacted along with everything else, and a finding it adds carries the observations behind it like any other. See docs/EXTENDING.md in the plugin folder.

Credits

The icons and the two illustrations in this plugin were generated with AI rather than taken from an icon set, so nothing here carries a third party licence. They are distributed under the same GPLv2 or later as the rest of the plugin.

更新日志:

1.0.2 1.0.1 1.0.0 First release.