Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Tester

3 sites Security covered Drupal 10–11
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

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Sep 2025
Latest release
6 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
1.1.0 Stable 10–11 Feb 23, 2026
1.0.x-dev Dev 10–11 Sep 26, 2025
1.0.0 Stable 10–11 Sep 26, 2025