Title: Leaplens &#8211; Upgrade Advisor for PHP
Author: maksymkotenko
Published: <strong>November 3, 2026</strong>
Last modified: November 3, 2026

---

Search plugins

![](https://ps.w.org/leaplens/assets/banner-772x250.png?rev=3781586)

![](https://ps.w.org/leaplens/assets/icon.svg?rev=3781586)

# Leaplens – Upgrade Advisor for PHP

 By [maksymkotenko](https://profiles.wordpress.org/maksymkotenko/)

[Download](https://downloads.wordpress.org/plugin/leaplens.0.1.0.zip)

 * [Details](https://wordpress.org/plugins/leaplens/#description)
 * [Reviews](https://wordpress.org/plugins/leaplens/#reviews)
 * [Development](https://wordpress.org/plugins/leaplens/#developers)

 [Support](https://wordpress.org/support/plugin/leaplens/)

## Description

Your host wants you on PHP 8.4 or 8.5, and you want to know what breaks first. Leaplens
reads the code of your plugins and themes, finds what a newer PHP removes or deprecates,
and tells you what to do about each one.

**One verdict per plugin and theme**

 * **Ready** – nothing changes for it on the PHP version you picked.
 * **Notices** – it keeps working; it only logs deprecation notices that its author
   should fix before the next major PHP.
 * **Update** – the version you have breaks, a newer one is available. With “Also
   check available updates” on, Leaplens downloads that update to a temporary folder,
   scans it and tells you whether updating fixes the problem. Nothing is installed.
 * **Fix needed** – no update fixes it yet: report it to the author (the support
   forum link is right there), or, for premium and custom code, send the exact lines
   to the vendor or developer.
 * **Replace** – it breaks, and it is closed on WordPress.org or has not been updated
   for two years.

**Only what is new for your site**

A problem that already applies to the PHP version the site runs today is not counted:
the site already works with it, so that code is either guarded or never runs. You
can still show those lines with one click. This keeps the list short and the verdicts
honest.

**PHP 7.4 to 8.5**

Pick the target version: 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 or 8.5. The checks come from
the PHPCompatibility rules for PHP_CodeSniffer, development version, which already
cover PHP 8.5: the backtick operator, `(boolean)`, `(integer)`, `(double)` and `(
binary)` casts, `case` ending with a semicolon, `curl_close()`, `imagedestroy()`,`
mysqli_execute()` and the other 8.5 deprecations, along with everything removed 
in PHP 8.0 and deprecated in 8.1 to 8.4.

**Built for shared hosting**

 * Runs inside WordPress: does not need `exec()`, a command line or an external 
   scanning service.
 * Scans in short steps of a few seconds, so it never hits the PHP time limit. Pause,
   resume or cancel at any time.
 * Leave the page and the scan goes on in the background through WP-Cron.
 * A file that would exhaust memory is skipped and listed, and the scan moves on.
   Files larger than 1 MB are skipped and listed.

**Exact lines**

Every finding names the file, the line, what changed and in which PHP version, with
the suggested replacement where one exists. The Plugins screen shows a short note
under each plugin the last scan found problems in.

**Limits of static analysis**

Leaplens reads code without running it. It cannot see code built at run time, and
it can flag code that checks the PHP version before using an old function. Treat
the verdicts as a checklist, and test the switch on a staging copy first.

### Third-party code

The `vendor` folder is the scanning engine, not a development tool: Leaplens loads
these libraries at run time to read the code of your plugins and themes.

 * PHP_CodeSniffer 4.0.4 – BSD-3-Clause – https://github.com/PHPCSStandards/PHP_CodeSniffer
 * PHPCSUtils 1.2.3 – LGPL-3.0-or-later – https://github.com/PHPCSStandards/PHPCSUtils
 * PHPCompatibility 10 development version – LGPL-3.0-or-later – https://github.
   com/PHPCompatibility/PHPCompatibility (commit 4b1ac835)

Tests, documentation and command-line-only files are left out. PHPCSUtils and PHPCompatibility
are otherwise unchanged; in PHP_CodeSniffer the command-line code paths that call
exec(), shell_exec() and proc_open() are removed, so the plugin ships no such calls.
Their license files are in the `vendor` folder.

## Screenshots

[⌊Pick the target PHP version and what to scan.⌉⌊Pick the target PHP version and
what to scan.⌉[

Pick the target PHP version and what to scan.

[⌊One verdict per plugin and theme, and what to do about it.⌉⌊One verdict per plugin
and theme, and what to do about it.⌉[

One verdict per plugin and theme, and what to do about it.

[⌊The exact files and lines, with the PHP version that changed each one.⌉⌊The exact
files and lines, with the PHP version that changed each one.⌉[

The exact files and lines, with the PHP version that changed each one.

## FAQ

### Does scanning slow down my site?

The scan runs only while you or WP-Cron ask for it, a few seconds at a time, and
reads files without running them. Visitors are not affected. A typical site with
20 plugins takes a few minutes.

### Does it send my code anywhere?

No. All analysis happens on your server and no code leaves it. The plugin talks 
to WordPress.org only, the same way WordPress’s own update checks do: for a plugin
or theme with errors it asks the WordPress.org directory whether that project is
closed and when it was last updated (the request names the plugin or theme), and,
when “Also check available updates” is on, it downloads the update WordPress already
found for it. Like every request WordPress makes, these carry WordPress’s standard
user agent with your site address.

### Why does it say a problem “already applies” to my PHP?

If the site runs PHP 8.3 today and a plugin still calls a function removed in PHP
8.0, that line never runs on your site, or the site would already be broken. Such
findings are not counted for the target version and are hidden by default.

### My host disables exec(). Will it work?

Yes. The scanner runs PHP_CodeSniffer inside the WordPress request and needs only
the standard tokenizer extension. The bundled libraries make no calls to exec(),
shell_exec() or proc_open(): the few command-line code paths of PHP_CodeSniffer 
that used them are removed when the libraries are bundled.

### Can I scan inactive plugins and themes?

Yes. Active ones are selected by default; use “Select all” to include the rest.

### Who can use it?

Administrators. On multisite, network administrators only, because plugins and themes
are shared by the whole network.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Leaplens – Upgrade Advisor for PHP” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ maksymkotenko ](https://profiles.wordpress.org/maksymkotenko/)

[Translate “Leaplens – Upgrade Advisor for PHP” into your language.](https://translate.wordpress.org/projects/wp-plugins/leaplens)

### Interested in development?

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

## Changelog

#### 0.1.0

 * First release: PHP 7.4 to 8.5, verdicts per plugin and theme, update checks, 
   background scanning, Plugins screen notes.

## Meta

 *  Version **0.1.0**
 *  Last updated **19 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [compatibility checker](https://wordpress.org/plugins/tags/compatibility-checker/)
   [php compatibility](https://wordpress.org/plugins/tags/php-compatibility/)[php upgrade](https://wordpress.org/plugins/tags/php-upgrade/)
   [php version](https://wordpress.org/plugins/tags/php-version/)
 *  [Advanced View](https://wordpress.org/plugins/leaplens/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/leaplens/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/leaplens/reviews/)

## Contributors

 *   [ maksymkotenko ](https://profiles.wordpress.org/maksymkotenko/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/leaplens/)