| 开发者 | nicolassalinas |
|---|---|
| 更新时间 | 2026年11月2日 23:02 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 or later |
| 版权网址: | 版权信息 |
function_exists() or a PHP version check is not reported, and findings that only apply to the PHP version you already run are hidden by default (you can still see them, with the reason).exec(), no shell, no external server. Your code never leaves your site. Nothing to sign up for, no license key to see results.advanced-cache.php, object-cache.php, db.php…), the parent theme, and every class of WordPress core itself, so a plugin that extends WP_Widget or WC_Payment_Gateway is checked properly instead of ignored.mysql_*, mcrypt, each(), create_function()…), PHP 8.0 fatal errors, PHP 8.1–8.5 deprecations including dynamic properties, 'self::method' callables and the PHP 8.5 changes ((boolean)/(integer) casts, backticks, curl_close()…). Everything that already applies to the PHP version you run today is shown as hidden, with the reason.wp upgravo scan --target=8.4 --format=json returns exit code 1 if anything active breaks, so agencies can check 50 sites from a script.upgravo folder to wp-content/plugins/.No. Everything runs on your server, inside WordPress. The plugin makes no external requests.
exec() or shell access?No. That is why it works on SiteGround, Kinsta, WP Engine and other hosts that disable exec().
About 15 ms per PHP file. A site with WooCommerce and a dozen plugins (5,000 files) takes one to two minutes. The scan runs in batches of a few seconds each, so it is safe on any host.
"Breaks" means a fatal error on the target PHP version: a function that no longer exists, an argument order that is no longer accepted. "Notices" means the code still works but PHP marks it as deprecated and logs a message; it will break in a future version.
Because they would mislead you. Hidden findings are code that only runs on old PHP versions (guarded by function_exists() or version_compare()), things that already apply to the PHP version you run today, analyzer housekeeping, and style advice. You can expand them and see the reason for each one.
By default only active plugins, the active theme (and its parent), mu-plugins and drop-ins. Tick "Include inactive plugins" to scan everything.
Yes: wp upgravo scan --target=8.4 --inactive --format=table. Exit code 1 means something active breaks.
Yes. Upgravo Pro adds scheduled scans with an email when an update introduces an incompatibility, a PDF report for clients, a whitelist of false positives per plugin, and multisite support. Everything in the free plugin stays free. Details at phpready.com.
phpcs:ignore / phpcs:ignoreFile comments in scanned plugins no longer hide PHP compatibility findings.wp upgravo scan.lib/ folder are no longer assumed to be third-party libraries (in many plugins that folder holds the author's own code). Only vendor/, node_modules/ and similar folders count as bundled libraries.