Title: Eli&#039;s PHP Compatibility Scanner
Author: Eli Hanna
Published: <strong>October 11, 2025</strong>
Last modified: September 26, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/eli-php-compatibility-scanner.svg)

# Eli's PHP Compatibility Scanner

 By [Eli Hanna](https://profiles.wordpress.org/eliehanna/)

[Download](https://downloads.wordpress.org/plugin/eli-php-compatibility-scanner.1.2.0.zip)

 * [Details](https://wol.wordpress.org/plugins/eli-php-compatibility-scanner/#description)
 * [Reviews](https://wol.wordpress.org/plugins/eli-php-compatibility-scanner/#reviews)
 *  [Installation](https://wol.wordpress.org/plugins/eli-php-compatibility-scanner/#installation)
 * [Development](https://wol.wordpress.org/plugins/eli-php-compatibility-scanner/#developers)

 [Support](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/)

## Description

**⚠️ Important: Development Environment Only**

This plugin is designed for development environments like LocalWP, XAMPP, or self-
hosted servers. It will **not work** on most managed hosting providers (WP Engine,
Kinsta, SiteGround, etc.) due to security restrictions that disable the `exec()`
function and limit access to PHP binaries.

Need to scan a live site, or one on managed hosting? [PHP Compatibility Scanner Pro](https://coffeewp.dev/php-compatibility-scanner/)
runs the scan on a remote service, so `exec()` is not required.

**How It Works**

This plugin uses [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)
with the [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility)
standard to perform deep static analysis of your PHP code.

**How to Use:**

 1.  Open **PHP Compatibility Scanner** in the WordPress admin menu
 2.  Review the **System Check** section to ensure your environment is compatible
 3.  Select the **plugins and/or themes** you want to scan by checking their boxes
 4.  Configure your scan options:
 5.   * **Target PHP Version**: Choose the PHP version you want to test against (7.4–
        8.4)
      * **Batch Size**: Select how many files to process at once (default: 50 files)
      * **Skip Vendor Directory**: Keep checked to skip third-party dependencies
 6.  Click **Start Scan** to begin the compatibility check
 7.  View results in real-time as each plugin/theme is scanned
 8.  Review any **errors** (❌) or **warnings** (⚠️) found in your code
 9.  Click on any target to expand and see detailed compatibility issues

**Why It Requires Development Environments**

 * **`exec()` Function**: Required to run PHPCS binary – disabled on managed hosts
 * **PHP Binary Access**: Needs access to PHP executable – restricted on shared 
   hosting
 * **Composer Dependencies**: Requires vendor directory with PHPCS installation
 * **File System Access**: Creates temporary files for batch processing
 * **Memory/Time Limits**: Long-running scans need relaxed execution limits

**Supported Environments**

 * **LocalWP** (recommended)
 * **XAMPP/MAMP**
 * **Docker WordPress** setups
 * **Self-hosted** VPS/dedicated servers
 * **Development** environments with shell access

**Unsupported Environments**

 * **WP Engine** (exec() disabled)
 * **Kinsta** (security restrictions)
 * **SiteGround** (managed hosting limitations)
 * **GoDaddy Managed WordPress** (function restrictions)
 * **WordPress.com** (no plugin uploads)
 * Most **shared hosting** providers

### Contributing

This plugin is actively developed for WordPress development environments. Contributions
are welcome, especially:

 * Additional PHP version compatibility rules
 * Performance optimizations
 * UI/UX improvements
 * Hosted environment compatibility solutions

### Technical Details

**How the scan runs**

 1. **Bundled dependencies**: PHP_CodeSniffer and the PHPCompatibility ruleset ship
    with the plugin
 2. **Batch processing**: files are scanned in configurable batches (10 to 100) to 
    manage memory usage
 3. **Command execution**: PHPCS is invoked through PHP’s `exec()` function
 4. **Server-side state**: file lists are stored in WordPress options to keep AJAX 
    requests small
 5. **Progressive UI**: batch results appear in real time, with stop and start controls

**Dependencies**

 * **PHP_CodeSniffer**: ^3.13 (static analysis engine)
 * **PHPCompatibility**: dev-develop (compatibility ruleset)

**License**

GPLv2 or later – same as WordPress core.

## Screenshots

[⌊Plugin dashboard displaying environment compatibility check results⌉⌊Plugin dashboard
displaying environment compatibility check results⌉[

Plugin dashboard displaying environment compatibility check results

[⌊Configuration panel with scan options and available plugins/themes selection⌉⌊
Configuration panel with scan options and available plugins/themes selection⌉[

Configuration panel with scan options and available plugins/themes selection

[⌊Scan results showing detected PHP compatibility errors in selected plugins⌉⌊Scan
results showing detected PHP compatibility errors in selected plugins⌉[

Scan results showing detected PHP compatibility errors in selected plugins

[⌊Clean scan results indicating no compatibility issues found⌉⌊Clean scan results
indicating no compatibility issues found⌉[

Clean scan results indicating no compatibility issues found

## Installation

**Prerequisites**

 * **Development Environment**: LocalWP, XAMPP, MAMP, or self-hosted server
 * **PHP 7.4+**: Required for plugin operation
 * **WordPress 5.8+**: Minimum WordPress version

**Setup Instructions**

 1. **Download/Install** the plugin to your `wp-content/plugins/` directory
 2. **Activate Plugin** in WordPress Admin  Plugins
 3. **Open the scanner** via **PHP Compatibility Scanner** in the WordPress admin menu

**Note**: All required dependencies (PHP_CodeSniffer and PHPCompatibility) are included
with the plugin, no additional setup required.

## FAQ

### What is this plugin for?

This plugin helps WordPress developers check if their custom code (plugins and themes)
will work with different PHP versions. It’s especially useful when planning to upgrade
PHP on production servers or when developing for clients with specific PHP version
requirements.

### Why won’t it work on my hosting provider?

Most managed hosting providers (WP Engine, Kinsta, SiteGround, etc.) disable the`
exec()` function for security reasons. This plugin needs to run PHP commands to 
analyze your code, which requires this function to be enabled.

### Can I scan a site on managed hosting?

Not with this plugin: it needs `exec()` and access to a PHP binary, and managed 
hosts disable both. [PHP Compatibility Scanner Pro](https://coffeewp.dev/php-compatibility-scanner/)
sends the plugin or theme to a remote scan service instead, so the scan never runs
on your server. It is a separate plugin, available from coffeewp.dev.

### What PHP versions can I test against?

The plugin can test your code against PHP versions 7.4 through 8.4, helping you 
identify compatibility issues before upgrading.

### How accurate are the results?

The scan runs PHP_CodeSniffer with the PHPCompatibility standard, a ruleset maintained
specifically to track what changed in each PHP release.

PHP_CodeSniffer parses your code into PHP tokens instead of searching it for text
patterns, so every match is judged in context. A function name that appears inside
a comment or a string is not reported, and a call is only flagged against the PHP
versions that actually changed it. Scanners built on pattern matching cannot make
that distinction, which is where both false alarms and missed issues come from.

### Can I scan multiple plugins at once?

Yes. You can select multiple plugins and themes to scan simultaneously. The plugin
processes them in batches to manage memory usage efficiently.

### What if the scan takes too long?

You can stop a long-running scan at any time. Lowering the batch size also helps
on servers with tight memory or execution limits.

### Are my files modified during scanning?

No, your files are never modified. The plugin only reads your code to analyze it.
Any temporary files created during scanning are automatically cleaned up.

## Reviews

![](https://secure.gravatar.com/avatar/cc455d574f3c636bd49dc940220b9596f19b3a272cde46b29857a81b0a5540df?
s=60&d=retro&r=g)

### 󠀁[PERFECTION](https://wordpress.org/support/topic/perfection-122/)󠁿

 [batwaan](https://profiles.wordpress.org/batwaan/) March 25, 2026

Congratulations for this plugin, very helpfull for my php's upgrades ! THANK YOU
❤️❤️

![](https://secure.gravatar.com/avatar/f1325f3136210788a33d5670a5f7967cefdea5959fb634333b23b1c086520145?
s=60&d=retro&r=g)

### 󠀁[Excellent!](https://wordpress.org/support/topic/excellent-14185/)󠁿

 [Artem Frolov](https://profiles.wordpress.org/dikiy_forester/) February 2, 2026

Good quality plugin and fast support! Super! Thanks!

 [ Read all 2 reviews ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/)

## Contributors & Developers

“Eli's PHP Compatibility Scanner” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ Eli Hanna ](https://profiles.wordpress.org/eliehanna/)

[Translate “Eli's PHP Compatibility Scanner” into your language.](https://translate.wordpress.org/projects/wp-plugins/eli-php-compatibility-scanner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/eli-php-compatibility-scanner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/eli-php-compatibility-scanner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/eli-php-compatibility-scanner/)
by [RSS](https://plugins.trac.wordpress.org/log/eli-php-compatibility-scanner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.0

 * New: the scanner has its own top-level admin menu, with Scan and Settings screens
   instead of a buried submenu.
 * New: Scan Options shows a loading skeleton while the system check runs, so the
   screen no longer looks empty on slow hosts.
 * New: when the system check fails, the screen explains what failed and what to
   try, instead of only reporting that scanning is unavailable.
 * Improved: reworked scan page — clearer mode buttons, a results modal, and corrected
   summary counts.
 * Improved: support links now point to the right place for free users.
 * Fix: no longer fatals when another edition of the scanner is already active.
 * Fix: hardened handling of admin AJAX request input.

#### 1.1.3

 * Fix: “Unable to run phpcs –version with detected PHP binary” on LocalWP/macOS.
   PHP_BINARY pointed to php-fpm, a server SAPI that cannot run CLI scripts; the
   scanner now resolves the CLI php binary from the same PHP install.
 * Tested up to WordPress 7.0.

Older releases are listed in changelog.txt, included with the plugin.

## Meta

 *  Version **1.2.0**
 *  Last updated **20 hours ago**
 *  Active installations **500+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.6**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/eli-php-compatibility-scanner/)
 * Tags
 * [code quality](https://wol.wordpress.org/plugins/tags/code-quality/)[compatibility](https://wol.wordpress.org/plugins/tags/compatibility/)
   [testing](https://wol.wordpress.org/plugins/tags/testing/)[wordpress development](https://wol.wordpress.org/plugins/tags/wordpress-development/)
 *  [Advanced View](https://wol.wordpress.org/plugins/eli-php-compatibility-scanner/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/reviews/)

## Contributors

 *   [ Eli Hanna ](https://profiles.wordpress.org/eliehanna/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/eli-php-compatibility-scanner/)