{"id":363334,"date":"2026-10-04T07:43:18","date_gmt":"2026-10-04T07:43:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/php-upgrade-checker\/"},"modified":"2026-10-04T07:43:03","modified_gmt":"2026-10-04T07:43:03","slug":"upaccn-php-upgrade-risk-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/upaccn-php-upgrade-risk-audit\/","author":23559745,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.2","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Upaccn PHP Upgrade Risk Audit","header_author":"upaccn","header_description":"Assess installed plugins and themes for PHP upgrade risks locally before changing your server PHP version.","assets_banners_color":"","last_updated":"2026-10-04 07:43:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"upaccn","date":"2026-10-04 07:43:03","revision":3727113}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[4932,662,258141,284277,151481],"plugin_category":[],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-363334","plugin","type-plugin","status-publish","hentry","plugin_tags-developer-tools","plugin_tags-php","plugin_tags-php-compatibility","plugin_tags-php-upgrade","plugin_tags-site-health","plugin_committers-upaccn"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/upaccn-php-upgrade-risk-audit.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Upaccn PHP Upgrade Risk Audit helps you answer one practical question before changing PHP on a WordPress site: <strong>which installed plugin or theme could block this upgrade?<\/strong><\/p>\n\n<p>Choose a target PHP version, select the components you want to inspect, and run a local static-analysis scan. Results are grouped by plugin or theme and summarized as <strong>Ready<\/strong>, <strong>Review<\/strong>, or <strong>Blocked<\/strong>, with the relevant file, line, compatibility rule, and finding available for technical review.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li>Scan installed plugins and themes against a selected PHP 8.x target.<\/li>\n<li>Runs locally inside WordPress. Source code is not uploaded to an external scanning service.<\/li>\n<li>Does not require <code>exec()<\/code>, <code>shell_exec()<\/code>, <code>proc_open()<\/code>, Composer, or command-line access on the host.<\/li>\n<li>Read-only: the plugin never edits the code it scans.<\/li>\n<li>Bounded AJAX batches reduce the risk of one long blocking web request.<\/li>\n<li>Clear per-component Ready \/ Review \/ Blocked verdicts.<\/li>\n<li>Technical findings include file, line, severity, rule, and message.<\/li>\n<li>Bundled vendor-code findings are identified separately.<\/li>\n<li>The checker excludes itself from scan targets to avoid self-referential findings from its bundled analysis engine.<\/li>\n<\/ul>\n\n<h4>Important limitation<\/h4>\n\n<p>Static analysis can identify known PHP compatibility patterns, but it cannot execute every runtime path and cannot guarantee that a site will work perfectly after an upgrade. Always validate the final PHP change on staging before changing production.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Scanning and scan state stay on the WordPress installation. Upaccn PHP Upgrade Risk Audit does not upload plugin or theme source code and does not include telemetry in this version.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin or install it from WordPress.org when available.<\/li>\n<li>Activate Upaccn PHP Upgrade Risk Audit from the Plugins screen.<\/li>\n<li>Go to <strong>Tools \u2192 Upaccn PHP Upgrade Risk Audit<\/strong>.<\/li>\n<li>Choose the PHP version you plan to upgrade to.<\/li>\n<li>Select the plugins\/themes to inspect and click <strong>Scan selected components<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20change%20my%20php%20version%3F\"><h3>Does this change my PHP version?<\/h3><\/dt>\n<dd><p>No. It only analyzes source code. Changing the server PHP version remains a hosting\/server operation.<\/p><\/dd>\n<dt id=\"does%20the%20scanner%20modify%20plugins%20or%20themes%3F\"><h3>Does the scanner modify plugins or themes?<\/h3><\/dt>\n<dd><p>No. Scans are read-only.<\/p><\/dd>\n<dt id=\"does%20it%20work%20when%20shell%20functions%20are%20disabled%3F\"><h3>Does it work when shell functions are disabled?<\/h3><\/dt>\n<dd><p>Yes. The release package includes the scanner runtime and runs it in-process. It does not require shell execution.<\/p><\/dd>\n<dt id=\"can%20it%20scan%20premium%20or%20custom%20plugins%3F\"><h3>Can it scan premium or custom plugins?<\/h3><\/dt>\n<dd><p>Yes, as long as the code is installed on the WordPress site and readable by WordPress. The scan does not depend on a public compatibility database.<\/p><\/dd>\n<dt id=\"why%20is%20upaccn%20php%20upgrade%20risk%20audit%20itself%20not%20in%20the%20component%20list%3F\"><h3>Why is Upaccn PHP Upgrade Risk Audit itself not in the component list?<\/h3><\/dt>\n<dd><p>The scanner deliberately excludes itself. Its bundled PHP_CodeSniffer\/PHPCompatibility engine is an analysis dependency and can generate self-referential findings that do not help you assess the rest of the site.<\/p><\/dd>\n<dt id=\"does%20a%20ready%20result%20guarantee%20the%20php%20upgrade%20is%20safe%3F\"><h3>Does a Ready result guarantee the PHP upgrade is safe?<\/h3><\/dt>\n<dd><p>No. A Ready result means the static scanner did not find a known blocking pattern in the selected source. You should still test the actual upgrade on staging.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial alpha with local plugin\/theme scanning, PHP target selection, bounded processing, cancellation, and Ready \/ Review \/ Blocked results.<\/li>\n<\/ul>","raw_excerpt":"Choose a target PHP version and see which installed plugin or theme may block the upgrade. Local, read-only, and no shell access required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363334"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/upaccn"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363334"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363334"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363334"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363334"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363334"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}