Main Header

Pro debugging (PHP and JavaScript)

Updated on July 30, 2026

Tier 2 (Pro) unlocks the full Pro debugging stack on SignalPress → Settings → Debugging. It replaces the basic sp() helper when a Tier 2 license is active.

Requires Manage debugging permission — Permissions and Access.

Enable Pro debugging

  1. Confirm Tier 2 license is active — Free vs SignalPress Pro.
  2. Open SignalPress → Settings → Debugging.
  3. Under Debugging (Pro section):
  • Check Enable PHP debugging and/or Enable JavaScript debugging
  • Choose PHP destination — Screen, Clockwork, or Both — Clockwork
  • Configure capture limits, redaction, and display options
  1. Save changes.

Settings are stored in signalpress_debug_settings. When the license lapses, saved settings remain but runtimes stay locked.

Runtime gates

SettingDefaultEffect
Enable PHP debuggingOffPHP sp() captures
Enable JavaScript debuggingOffLoads Pro JS bundle
Frontend enabledOffAllow output on public site
Admin enabledOnAllow output in wp-admin

Both area gates must pass for the selected runtime. Use Frontend enabled carefully on production — pair with cache compatibility when full-page cache is active.

PHP API

PHP

sp( $value, 'Label' );

sp( $payload, 'Webhook body', [
	'channel' => 'webhooks',
	'tags'    => [ 'outbound', 'stripe' ],
] );
  • Uses Symfony VarDumper for formatted output
  • Respects configurable capture depth, max items, string length, and total bytes
  • Automatic redaction can be toggled (basic tier always redacts)
  • Optional file/line and stack trace display on screen output
  • Destination: screen, clockwork, or both

After each capture, SignalPress fires signalpress/debug/record with a SignalPress_Debug_Record object for extensions.

Screen output

Same dark footer panel as basic debugging, with richer formatting and channel labels when enabled.

Clockwork output

See Clockwork and Chrome DevTools. Requires PHP destination Clockwork or Both.

JavaScript API

When JS debugging is enabled, Pro loads the bundled signalpress-debug.js (Consola-backed):

JavaScript

sp('hello');
sp.info({ userId: 5 }, 'User context');
sp.warn('Missing field', 'Validation');
sp.error(err, 'Handler failed');

sp.table(rows, 'Active integrations');
sp.trace('Checkout flow');
sp.time('render');
sp.timeEnd('render');

const webhooks = sp.channel('webhooks');
webhooks.info(payload, 'Incoming');

JavaScript output goes to the browser console only — not Clockwork or the PHP screen panel.

Channel colors and trace display follow inline window.SignalPressDebugConfig from saved settings.

Capture limits (defaults)

SettingDefaultRange
Capture depth81-20
Max items501-500
Max string length2,00050-50,000
Max total bytes1 MB1 KB-10 MB

Per-service Developer diagnostics (Tier 1+)

Separate from the Debugging tab — on each integration Settings tab when Tier 1+:

OptionEffect
Browser console loggingService-specific console messages
PHP error logWrite service diagnostics to PHP error log
Capture toastsSelf-dismissing frontend notices when events send (off by default)

These complement Pro sp() when tracing a single integration. Tier 1 required; Pro debugging itself requires Tier 2.

Capture toasts (Tier 1+)

Per-integration Show frontend capture toasts lives under Developer diagnostics on each service Settings tab. Tier 1 shows toasts to site administrators; Tier 2 adds optional Toast audience user/role rules.

Full behavior, cross-page persistence, and limitations: Capture toasts.

SectionDoc
Cache compatibilityDebugging with page caches
Clockwork diagnosticsClockwork
Automatic error monitoringAutomatic error monitoring