Linux 软件免费装
Banner图

Tahhan Conflict Detective

开发者 mustafatahhan
更新时间 2026年11月10日 21:25
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

errors debug plugins health conflict

下载

2.6.3 2.6.5 2.5.0 2.5.1 2.5.2 2.5.3 2.6.2 2.6.4 2.6.6 2.6.0 2.6.1 2.7.0 2.8.0

详情介绍:

"Which plugin just broke my site?" — answered automatically. Existing tools show you that an error occurred. Conflict Detective tells you which plugin caused it by correlating the plugin change timeline with the error log — and gives you a confidence score. Features Dashboard Live overview of your WordPress/PHP version, active plugins, active theme, memory limit, debug mode, recent changes, and latest errors — all on one screen. Error Log Viewer Reads debug.log and the server PHP error log automatically. Each entry is attributed to the plugin that owns the file where the error occurred. Filter by Fatal / Warning / Notice / Deprecated. Change History Full audit trail of every plugin activation, deactivation, update, and deletion — with exact timestamps and version diffs (e.g. 8.3.0 → 8.4.0). Health Scan On-demand scan that detects: Conflict Scanner Automatically correlates plugin update timestamps with error spikes and reports a suspect plugin with a confidence percentage. Detected conflicts are stored in the database and can be marked as resolved with one click. Safe Testing Mode Disable any plugin for your own admin session while visitors remain completely unaffected. Cookie-isolated — the live site is never touched. Conflict Wizard Step-by-step guided diagnosis. Choose your symptom (white screen, login problem, WooCommerce issue, slow site, broken admin, front-end error, or other) and the wizard automatically analyses recent changes and errors to produce a tailored action plan. Performance Monitor (new in 2.6.0) Tracks the estimated load time, memory delta, and database query count for every active plugin during the current page load. Results are color-coded as Fast / Slow / Heavy and refreshed on demand. Cron Monitor (new in 2.6.0) Lists all scheduled WordPress Cron events with their next run time and interval. Overdue events are highlighted in red. Each event can be triggered manually via a "Run Now" button — validated against the live WP-Cron schedule before execution. AJAX / REST Monitor (new in 2.6.0) Automatically logs slow AJAX and REST API calls (those taking more than 500 ms) to a dedicated database table. Filter by All / AJAX / REST / Slow to quickly identify bottleneck endpoints. Plugin Interaction Map (new in 2.6.0) Visualises your plugins grouped into known ecosystem clusters (WooCommerce, Elementor, Yoast SEO, Jetpack, ACF, Gravity Forms, and more). Highlights declared plugin dependencies and shows active/inactive state at a glance. Plugins that don't belong to a known ecosystem are listed separately as Standalone Plugins. Agency Edition (new in 2.7.0) Multi-site monitoring dashboard Monitor up to 50 client sites from one WordPress install. Each row shows the site's status (All clear / Warning / Critical), open conflicts with the top suspect, fatal errors in the last 24 hours, critical health issues and when it was last checked. Sites are polled automatically every 5, 15 or 60 minutes, or on demand. Read-only API keys Each monitored site generates its own key under Agency → Remote Access. Keys are shown once, stored only as a SHA-256 hash, can expire after 30/90/365 days, and can be rotated or revoked instantly. A key can only read status counts — it cannot change anything. Alerts by email and webhook (extended in 2.8.0) Get notified when something new happens: fatal errors, conflicts with 50 %+ confidence, or critical health issues. Choose the severity (critical / high / everything), immediate delivery or a daily/weekly digest, up to 10 email recipients and/or a Slack, Discord, Microsoft Teams or generic JSON webhook. The same conflict or issue is never sent twice, and switching alerts on does not send the existing backlog. Hub alerts (new in 2.8.0) The agency site is alerted when a monitored site is critical or unreachable for two checks in a row, when it recovers, and two weeks before a site's API key expires. Hub alerts are always sent immediately. Private, one-click unsubscribe (new in 2.8.0) Every recipient gets an individual email — recipients never see each other's addresses — with a personal unsubscribe link and one-click unsubscribe support in Gmail, Outlook and Apple Mail.

安装:

  1. Upload the tahhan-conflict-detective folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Navigate to Conflict Detective in the WordPress admin sidebar.
No configuration is required for the diagnostic tools — all scanning is done on demand inside the admin area. The optional Agency features (remote monitoring, email alerts) are off until you enable them under Conflict Detective → Agency.

屏幕截图:

  • Conflict Scanner — detected conflicts ranked by confidence score with one-click "Mark Resolved".
  • Safe Testing Mode — amber active banner shows disabled-plugin count; toggle any plugin on/off for your session only.
  • Conflict Wizard — step-by-step diagnosis selects your symptom and produces a tailored action plan.
  • Error Log Viewer — PHP errors parsed from debug.log and server error_log, attributed to the owning plugin with type filters.
  • Change History — full audit trail of every plugin activation, deactivation, update, installation and deletion with timestamps.
  • Health Scan — on-demand scan for duplicate functionality, outdated plugins, incompatibilities and server configuration issues.

升级注意事项:

2.8.0 Hub alerts, daily/weekly digests, Slack/Discord/Teams webhooks and one-click unsubscribe. Privacy fix: alert recipients no longer see each other's addresses. 2.7.0 Agency Edition: multi-site monitoring, read-only API keys and email alerts. All new features are off until you enable them. 2.1.1 Security and quality patch. Upgrade recommended for all users on 2.1.0. 2.0.0 Major feature release: Conflict Scanner, Safe Testing Mode, and Conflict Wizard.

常见问题:

Does this plugin slow down my site?

No. All analysis runs on demand inside the WordPress admin. The Performance Monitor records a few timestamps while plugins load, and the slow-request monitor only writes to the database when a request takes longer than 500 ms. Agency features run in WP-Cron and only when you enable them.

What log files does it read?

wp-content/debug.log and the server PHP error_log path returned by ini_get('error_log').

Do I need to configure anything?

No. Optionally, enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to populate the error log.

Does Safe Testing Mode affect my visitors?

Never. Safe Testing Mode uses a session cookie that is only present for your admin session. Visitors always see the live site.

What happens if I install the plugin via FTP?

The plugin detects missing database tables on every request and recreates them automatically — no activation hook required.

Is this plugin compatible with Multisite?

Yes, per site. Because the PHP error log is shared by every site on a network, the Error Log, email alerts and the Agency hub are only available to network (super) administrators. Site administrators keep access to the other tools.

How does the Performance Monitor work?

Performance Monitor hooks into WordPress's plugin_loaded action, which fires once for every plugin that loads. It records a snapshot of the PHP execution time, memory usage, and database query count immediately before and after each plugin loads, then computes the delta. The results are stored in a 5-minute transient and can be refreshed on demand. Because measurements happen at request time, values vary between requests — treat them as estimates rather than precise benchmarks.

Does the AJAX / REST Monitor log every request?

No. Only requests that take longer than 500 ms are written to the database. The log is automatically trimmed to the most recent 500 entries.

Can I manually trigger a WordPress Cron event?

Yes. Go to Conflict Detective → Cron Monitor and click the "Run Now" button next to any event. The plugin validates the hook name against the live WP-Cron schedule before execution so arbitrary code cannot be triggered via this interface.

What is the Plugin Interaction Map?

The Interaction Map groups your installed plugins into known ecosystem clusters (WooCommerce, Elementor, Yoast SEO, Jetpack, ACF, Gravity Forms, Contact Form 7, WPML, LearnDash, Divi, WP Rocket, and more). Plugins within the same ecosystem are more likely to interact and potentially conflict with each other. The map also reads the Requires Plugins header introduced in WordPress 6.5 to show explicit declared dependencies.

What does the remote status endpoint expose?

GET /wp-json/tahhan-cd/v1/status returns counts only: number of open conflicts and the top suspect's plugin name and confidence, total and last-24h fatal errors, health-scan issue counts, the last plugin change, the site name, and the WordPress, PHP and Conflict Detective versions. No file paths, log messages or personal data. It only answers requests that send a valid key in the X-Tahcd-Key header — never in the URL. It is disabled until you generate a key.

How are API keys protected?

On the monitored site only a SHA-256 hash of the key is stored. On the agency site, keys of remote sites are encrypted with libsodium using a key derived from your AUTH_KEY salt — if you change your salts, re-add the remote sites. After 10 failed attempts in 15 minutes an IP is throttled; a request with a valid key is always accepted.

Why is HTTPS required for remote sites?

The API key travels in a request header. Remote URLs must use HTTPS on port 443; local, private-network, link-local and reserved addresses are refused to prevent server-side request forgery. Developers can allow plain HTTP on a test network with the tahcd_allow_insecure_remote filter. Known limitations: remote sites must have an IPv4 (A) record, and monitoring is disabled while an outbound HTTP proxy (WP_PROXY_HOST) is configured, because the destination could then not be verified.

My site is behind Cloudflare or a reverse proxy. Does throttling still work?

Yes. A valid key is never throttled. If you want throttling to use the real visitor IP, map it with the tahcd_rest_client_ip filter from a header your proxy sets.

How does unsubscribing work?

Every alert email contains a personal link. Opening it shows a confirmation button (so mail-security scanners that follow links cannot unsubscribe anyone); clicking it removes only that address. Mail clients that support one-click unsubscribe (RFC 8058) remove the address directly. The link contains a random token, never the email address. Tokens do not expire; changing your site's security salts invalidates all of them.

Which webhook services are supported?

Slack and Mattermost incoming webhooks, Discord webhooks, Microsoft Teams Workflows ("When a Teams webhook request is received"), and a generic JSON format for your own endpoint. The webhook URL is stored encrypted and is never shown again after saving. Mentions such as @everyone or <!channel> in log text are neutralised.

Do email alerts need a real cron job?

Alerts and remote polling run through WP-Cron, which runs when your site receives traffic. On low-traffic sites, configure a system cron that calls wp-cron.php for timely alerts.

更新日志:

2.8.0 2.7.0 2.6.6 2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0 2.5.1 2.5.0 2.4.0 2.3.1 2.3.0 2.2.0 2.1.4 2.1.3 2.1.1 2.0.0 1.0.0