PHP 兼容性检查工具

描述

WP Engine 的 PHP 兼容性检查工具可用于在任何虚拟主机的任何 WordPress 站点上检查 PHP 版本的兼容性。

This plugin will lint theme and plugin code installed on your WordPress site and give you back a report of compatibility issues as reported by Tide for you to fix. Compatibility issues are categorized into errors and warnings and will list the file and line number of the offending code, as well as the info about why that line of code is incompatible with the chosen version of PHP. The plugin will also suggest updates to themes and plugins, as a new version may offer compatible code.

该插件不执行您的主题和插件代码,因此也无法检测运行时的兼容性问题。

请注意,对代码的检查并不完美。该插件无法检测可能用于向后兼容的未使用的代码路径,因此可能会出现误报。我们维护了一个可能导致误报的插件的白名单。我们正在不断努力以确保检查工具尽可能提供最准确的结果。

This plugin relies on Tide that constantly scans updated versions of plugins and themes in the background. Your scan results should be near real-time, but if not that just means Tide has not yet scanned your specific plugin or theme version. Please be patient as this may take up to 10 minutes for results to be returned from Tide. Please see the FAQ for more information.

Update to PHP 7.4

  • Use this plugin to check your site for compatibility up to PHP 8.0!
  • As of July 2022, 8.52% of WordPress websites run a PHP version older than PHP 7.0.
  • 这些版本的 PHP 已被淘汰和放弃支持超过2年。
  • Only 7.1% of WordPress websites run PHP 8, the current main version of PHP.

免责声明

虽然该插件的编写是为了尽可能准确地检测出更多问题,但检测无法保证 100% 可靠。在迁移到新的PHP版本之前的最佳做法是进行全面测试。

该插件由 WP Engine 创建,只在帮助 WordPress 社区增加对现代PHP版本的采用率。我们欢迎您对该插件做出贡献。我们也很高兴能看到其他开发者和 WordPress 主机商使用该插件。

To disclose security issues for this plugin please email WordPress@wpengine.com.

屏幕截图

  • 主界面:兼容性检查选项
  • 兼容性结果界面

安装

Note: Go to ‘Plugins’ > ‘Add New’ in the WordPress admin and search for “PHP Compatibility Checker” and install it from there.

手动安装。
1. 上传phpcompat/wpengin-wp-content/plugins/目录中。
2. 通过 WordPress 的“插件”菜单启用该插件。

You will find the plugin options in the WP Admin Tools => PHP Compatibility menu. Once you click run it will take a few minutes to conduct the test. Feel free to navigate away from the page and check back later.

常见问题

1. Will this work outside of the WP Engine hosting account?

Yes, this plugin can be used any ANY WordPress website on ANY host.

2. Are there WP-CLI commands available?

As of the 1.6.0 release this plugin no longer includes the phpcompat WP-CLI command. If you still require use of that command, then please run version 1.5.2 or older of this plugin as those versions extend WP-CLI and provide commands.

3. A plugin I created is listed as not compatible, what should I do?

We maintain a whitelist of plugins that cause false positives. If your plugin shows up as incompatible but you think that is wrong, please open a GitHub issue on the project, or email wordpress@wpengine.com with info about your plugin and why you know it is compatible (you have automated tests, the failure is on backwards compatibility code paths, etc).

4. Can I use this to test non-WordPress PHP Projects?

Yes! While you cannot use this WordPress plugin to test your non-WordPress projects, you can use the Open Source PHPCompatibility Library that this plugin is built on.

5. Why was my plugin/theme skipped?

If your plugin or theme is not available on WordPress.org, then Tide will not be able to scan or return results of that plugin or theme.

If your plugin or theme is available on WordPress.org, but Tide is not immediately returning results than it likely means Tide has not yet audited that plugin or theme and within a few minutes results should be available once Tide completes its audit.

6. The scan is stuck, what can I do?

As of version 1.6.0 of this plugin, there should no longer be issues of the scan getting stuck as it no longer runs on your WordPress host server. If you are seeing significantly slow or unresponsive results from a plugin or theme that is available on WordPress.org, then please open an issue with those details for the Tide team to investigate why that specific plugin or theme version is not appearing in the Tide results.

7. I found a bug, or have a suggestion, can I contribute back?

Yes! WP Engine has a public GitHub repo where you can contribute back to this plugin. Please open an issue on the Plugin GitHub. We actively develop this plugin, and are always happy to receive pull requests.

The plugin was created by WP Engine to help the WordPress community increase adoption of modern PHP versions. We welcome contributors to this plugin, and are excited to see how developers and other WordPress hosts use this plugin.

To disclose security issues for this plugin please email WordPress@wpengine.com.

评价

2023年10月27日
It hangs like many others say. No replies on the forum. You're giving people false hope.Just get it offline and focus on your other plugins (which are working very well, btw); you'll do yourself and many others a favor.
2023年5月19日
ran the plugin on quite a few sites and most timeout after a couple of plugins are tested. Lots of false positives and errors. surely there is a better plugin out there?
2023年5月9日
Useless! Gives a 404 error on plugins that ARE PHP 8 compatible. and then hangs. I've been waiting 30 minutes for it to unhang, and I finally gave up. It sure would be nice if this thing worked as advertised. Here's what I got: MaxButtons Pro 9.5.5 Response status: 404 Message: The audit requested does not exist. Am I supposed to know what that means? How do I fix it? Right now it's completely useless, and it hangs the software -- never goes any farther to get to the rest of my plugins. Not a bit of help as is.
2023年4月25日
Rates several themes and plugins as compatible, which definitely are not and have crashed under newer PHP versions (Random Text 0.3.0, WP Bakery 6.0.5, Slideshow 2.3.1 (dereg'd since Apr '22)) -- and has rated several themes and plugins as incompatible which seem to work fine under PHP 7.4 previous versions (Duplicator 1.5.3.1, LayerSlider WP 6.8.2, UpdraftPlus - Backup/Restore 1.23.3, WP Mail SMTP 3.7.0). So to have false evals of plugins and themes, both directions, makes this a useless tool and a waste of time. It's a great idea of course, but with the errors I've seen it means it can't even be relied upon to give some clues in a PHP problem hunt. If I'm missing something will happily change my tune -- because like ChatGPT, it sure gives some attractive, confident-looking answers! And linting ought not be so buggy as all this. Truly quite surprised.
2023年4月19日
Obviously the website's current php is working or the website wouldn't render. But you have no way to check future php versions and website compatibility. I wanted to see if my website would be compatible to PHP 8.0. This plugin redirects you to LocalWP .... whatever that is.
2023年4月7日
WordPress 6.2.0PHP 8.0 and 8.1PHP CC Plugin 1.6.1 Although plugin page says: "check your site for compatibility up to PHP 7.4!", I found when using the plugin it will automatically use whatever PHP version the site is using--up to PHP v8.0. Tried using 8.0 and then 8.1 but the results showed were still only up to 8.0. No errors, no problems, just results I could use. Based on screenshots shown on the plugin page, the new interface is very nice, make one choice then go. This is a no maintenance plugin - bonus!
阅读所有130条评价

贡献者及开发者

“PHP 兼容性检查工具”插件已被翻译至22种本地话语言。 感谢所有译者为本插件所做的贡献。

将“PHP 兼容性检查工具”翻译成您的语言。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

1.6.3

Fix issue where Buffer was not available to the scans.

1.6.2

  • Update packages.

1.6.1

  • Fix issue on update where old files were included.

1.6.0

  • Changed from running PHP Compatibility scans on your WordPress server to using scan data from Tide.
  • Removed phpcompat WP-CLI command.
  • Update dependencies.

1.5.2

  • Removed PHP 5.2 checks
  • Fixed PHP 8 issue where plugin cannot cannot be uninstalled.

1.5.1

  • Added Smart Plugin Manager to whitelisted plugins.

1.5.0

  • Added support for PHP 7.3 compatibility checks.

1.4.8

  • Update dependencies.

1.4.7

  • Better translation support.

1.4.6

  • Switched to new PHPCompatibilityWP library to help prevent false positives.

1.4.5

  • Use plugin version number to enqueue scripts and styles.

1.4.4

  • PHP 5.2 Support & PHP 7.1 and 7.2 Lints.
  • Updated call to action sidebar depending on platform.

1.4.3

  • Fixed Composer issue.

1.4.1

  • Updated PHP_CodeSniffer to fix a security advisory.
  • Whitelisted a number of plugins.

1.4.0

  • Updated UX for viewing PHP errors to be more intuitive and require less scrolling.
  • Added links for non-technical users who need assistance from developers to fix PHP errors or to test their site in PHP 7 enabled hosting environments.

1.3.2

  • Added a “Clean up” button and uninstall.php.
  • Added phpcompat_phpversions filter.

1.3.1

  • Whitelisted a number of plugins.

1.3.0

  • Updated the PHPCompatibility library to latest version. Should fix many false positives.
  • Changed language and added help text to Admin UI.

1.2.4

  • Fixed Composer issue.

1.2.3

  • Updated the PHPCompatibility library to latest version.
  • Whitelisted TablePress.

1.2.2

  • Whitelisted UpdraftPlus and Max Mega Menu.

1.2.1

  • Updated the PHPCompatibility library to latest version.

1.2.0

  • Updated the PHPCompatibility library to latest version.
  • Added support for PHP 5.6

1.1.2

  • Fixed issue with WordPress notices breaking the plugin header.
  • Changed the way we send and parse JSON.
  • You can now restart an in progress scan.
  • Updated download.js to v4.2 for better Safari compatibility.

1.1.1

  • Fixed bug with active job display.
  • Updated progress bar calculation.

1.1.0

  • Test results now persist page reloads.
  • Failed tests will show an overview of the results.
  • The scan timeout is now configurable using a filter. See the FAQ for more details.

1.0.3

  • Fixed a bug in the WP-CLI command.
  • Added a handful of PHP 7 compatible plugins to the whitelist.

1.0.2

  • Added additional role protections.
  • Changed the UI colors to better understand output at a glance.
  • Exclude checking node_modules and tmp directories.
  • Added support for child theme’s parent theme.

1.0.1

  • Updated compatibility library with a few bugfixes.
  • Added skip logic to prevent checker from hanging.

1.0.0

  • Major update to add PHP 7 checking support.
  • Improved the UX of the progress bar.
  • Fixed bug with the way the plugin menu was registered.

0.1.0

  • Initial version.
  • PHP 5.5, 5.4, and 5.3 Support.
  • Basic WP-CLI Commands.