Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Tester

2 sites Security covered
View on drupal.org

This module provides automated Drush commands to crawl your Drupal site and identify PHP compatibility errors. It helps developers safely upgrade PHP versions by testing pages for errors before going live.

The PHP Version Tester module provides automated Drush commands to crawl your Drupal site and identify PHP compatibility errors. This tool helps developers safely upgrade PHP versions by testing all site pages for errors, warnings, and notices before going live.

Features

The module automatically crawls your site using configurable test plugins to identify PHP errors across different page types. Key features include:

  • Comprehensive Site Testing: Tests home pages, node pages, menu links, user pages, and custom error pages (403/404)
  • Flexible Authentication: Supports admin login via one-time links or username/password authentication
  • Configurable Crawling: Set limits on URLs to crawl, specify which menus to test, and choose specific test plugins
  • Error Reporting: Detailed error logs with HTTP status codes and PHP error messages captured from watchdog
  • Plugin Architecture: Extensible system with built-in plugins for nodes, menus, users, and system pages

Form testing

The new tester:forms command will crawl the site looking for forms that allow input from anonymous users.

Use this module when upgrading PHP versions to ensure your site will run without errors. It's particularly valuable for major PHP version transitions (like PHP 7.4 to 8.x) where compatibility issues are common.

The module includes a test error generator submodule (tester_error_generator) useful for testing the error detection functionality during development.

Post-Installation

After installation, the module works entirely through Drush commands - no configuration UI is required:

  1. Enable the module: drush en tester
  2. Run basic site test: drush tc (uses current site URL)
  3. Test specific URL: drush tc https://example.com
  4. Run all tests: drush tc --test=all
  5. Limit crawling: drush tc --test=all --limit=50
  6. Login as admin: drush tc --admin
  7. View only errors: drush tc --errors

The module automatically enables database logging (dblog) during tests and sets error reporting to maximum level to capture all PHP issues. These settings are restored after testing completes.

Additional Requirements

  • Drupal Core: 10.x or 11.x
  • Drush: Required for all functionality (module provides Drush commands only)
  • Database Logging (dblog): Automatically enabled during testing to capture PHP errors
  • cURL/Guzzle: Used for HTTP requests (included with Drupal core)

No external libraries or APIs are required beyond standard Drupal dependencies.

  • Drupal Check: Complements this module by providing static code analysis for PHP compatibility
  • Examples module: Helpful for understanding plugin architecture if extending the module
  • Admin Toolbar: Makes navigation testing more comprehensive when using admin login features

Similar projects

While tools like Drupal Check provide static code analysis for PHP compatibility, the Tester module is unique in providing dynamic testing by actually loading pages and capturing runtime errors. This catches issues that static analysis might miss, such as errors in contributed modules or theme templates that only occur during page rendering.

Supporting this Module

Support development through:

  • Contributing patches and improvements on Drupal.org
  • Testing with different PHP versions and reporting issues
  • Documenting use cases and creating tutorials

Activity

Total releases
3
First release
Sep 2025
Latest release
4 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.1.0 Stable Feb 23, 2026
1.0.x-dev Dev Sep 27, 2025
1.0.0 Stable Sep 27, 2025