PHP Compatibility Checker

説明

The WP Engine PHP Compatibility Checker can be used by any WordPress website on any web host to check PHP version compatibility.

This plugin will lint theme and plugin code inside your WordPress file system and give you back a report of compatibility issues 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 does not execute your theme and plugin code, as such this plugin cannot detect runtime compatibility issues.

Please note that linting code is not perfect. This plugin cannot detect unused code-paths that might be used for backwards compatibility, and thus might show false positives. We maintain a whitelist of plugins that can cause false positives. We are continuously working to ensure the checker provides the most accurate results possible.

このプラグインはバックグラウンドでファイルをスキャンするために WP-Cron に依存しています。サイトの WP-Cron が正しく動作していない場合、スキャンが固まってしまいます。詳細は FAQ を参照してください。

PHP 7 にアップデートする

  • このプラグインを使って、PHP 7 とサイトとの互換性を確認しましょう。
  • 2016年11月現在、WordPress サイト全体の 52.9% は PHP 5.5 以前のバージョンで動作しています。
  • これらの PHP バージョンは非推奨になっており、サポート終了から9か月以上を経過しています。
  • PHP のメインバージョンである PHP 7 で動作する WordPress は、全体の 3.4% のみです。

免責事項

While this plugin is written to detect as many problems as accurately as possible, 100% reliable detection is very difficult to ensure. It is best practice to run comprehensive tests before you migrate to a new PHP version.

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.

このプラグインのセキュリティ問題を開示するには WordPress@wpengine.com へメールを送信してください。PHP Compatibility Checker には WP-CLI コマンドサポートが含まれています。

wp phpcompat <version> [--scan=<scan>]


<version>
    PHP version to test.

[--scan=<scan>]
  Whether to scan only active plugins and themes or all of them.
  default: active
  options:
    - active
    - all

例: wp phpcompat 7.0 --scan=active

スクリーンショット

  • メイン画面: 互換性チェックのオプション
  • 互換性チェック結果画面

インストール

Note: If you have WordPress 2.7 or above you can simply go to ‘Plugins’ > ‘Add New’ in the WordPress admin and search for “PHP Compatibility Checker” and install it from there.

To manually install:
1. Upload phpcompat to the /wpengine-wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in 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.

There are WP-CLI commands available see the Other Notes tab for details.

FAQ

  1. WP Engine ホスティングアカウント以外でも動作しますか ?

    はい、このプラグインはすべてのサーバーで運用する WordPress で利用することができます。

  2. WP-CLI コマンドに対応していますか ?

    はい、このプラグインは WP-CLI コマンドに対応しています。詳細は Other Notes を参照してください。

  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. WordPress 以外の PHP プロジェクトをテストするために使うことはできますか ?

    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. どうして自分のプラグインやテーマがスキップされたのでしょうか。

    Some servers have timeouts to prevent long running queries, this is commonly 60 seconds. This can prevent the checker from being able to process large themes or plugins. You should check with your host to see if this timeout can be temporarily removed. The best way around this timeout issue is to run this plugin on a local copy of your site, or you can use the WP-CLI command.

    You can use the filter wpephpcompat_scan_timeout to customize the scan timeout. See this for an example.

    タイムアウトを0に設定すると、cron/タイムアウトが無効になります。

  6. スキャンが途中で停止しました。何ができますか ?

    The PHP Compatibility Checker relies on WP-Cron to process plugins/themes in batches, this is necessary to avoid server timeouts. The scan will get stuck if your site’s WP-Cron isn’t functioning. You can look into this using WP Crontrol. The cron is called wpephpcompat_start_test_cron. This could also be an issue if your site is using basic authentication.

    また、WP-Cron を使用せずに実行するには、WP-CLI コマンドを使用するか、タイムアウトを無効にしてください。

  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.

このプラグインの非公開なセキュリティに関する問題の詳細は、 WordPress@wpengine.com 宛にメールをください。

インストール手順

Note: If you have WordPress 2.7 or above you can simply go to ‘Plugins’ > ‘Add New’ in the WordPress admin and search for “PHP Compatibility Checker” and install it from there.

To manually install:
1. Upload phpcompat to the /wpengine-wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in 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.

There are WP-CLI commands available see the Other Notes tab for details.

評価

Can’t Get It To Work

I tried for hours to get this plugin to work. After hitting the scan button, it hangs for a couple seconds and… nothing. Deactivated every plugin, but still nothing. Judging from other reviews, this plugin doesn’t seem to be even the “free” cost (it costed me lots of time to find out it’s useless — for me, at least).

Scan does nothing

Installed, attempted to start scan, nothing happens. Deactivated all security plugins, still doesn’t work.

Bad

Not working, throws 500 error on WP Admin, unable to stop the scan and can’t delete the plugin after it is deactivated – says it is still active. Throws CPU up to 100%.

48件のレビューをすべて表示

貢献者と開発者

PHP Compatibility Checker はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“PHP Compatibility Checker” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.4.6

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

1.4.5

  • スクリプトとスタイルのエンキューにプラグインのバージョン情報を使用するようにしました。

1.4.4

  • PHP 5.2 & PHP 7.1 と 7.2 の構文チェックに対応します。
  • プラットフォームごとにサイドバーの CTA (コール・トゥ・アクション) を更新しました。

1.4.3

  • Composer の問題を解決しました。

1.4.1

  • セキュリティ勧告を修正するため PHP_CodeSniffer を更新しました。
  • 複数のプラグインをホワイトリストに追加しました。

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

  • 「Clean up」ボタンと uninstall.php を追加しました。
  • phpcompat_phpversions のチェックを追加しました。

1.3.1

  • 複数のプラグインをホワイトリストに追加しました。

1.3.0

  • 「PHPCompatibility」を最新バージョンに更新しました。誤判定の多くが修正されたはずです。
  • 言語を切り替え、管理画面にヘルプテキストを追加しました。

1.2.4

  • Composer の問題を解決しました。

1.2.3

  • 「PHPCompatibility」を最新バージョンに更新しました。
  • 「TablePress」をホワイトリストに追加しました。

1.2.2

  • 「UpdraftPlus」と「Max Mega Menu」をホワイトリストに追加しました。

1.2.1

  • 「PHPCompatibility」を最新バージョンに更新しました

1.2.0

  • 「PHPCompatibility」を最新バージョンに更新しました
  • PHP 5.6に対応しました。

1.1.2

  • WordPress の通知がプラグインのヘッダーを壊す問題を解決しました。
  • JSON の送信と解析の方法を変更しました。
  • 実行中のスキャンの再開ができるようになりました。
  • Safari に対応するため download.js を v4.2 に更新しました。

1.1.1

  • 実行中のジョブ表示のバグを解決しました。
  • プログレスバーの計算方法を更新しました。

1.1.0

  • テスト結果は、ページリロードしても残存します。
  • テストに失敗した結果について、概要が表示されます。
  • The scan timeout is now configurable using a filter. See the FAQ for more details.

1.0.3

  • WP-CLI コマンドのバグを解決
  • ホワイトリストに PHP7 対応のプラグインを追加

1.0.2

  • 権限グループの保護をさらに追加しました。
  • 結果がより一目で分かるよう UI の色を変更しました。
  • node_modules と tmp ディレクトリをスキャンから除外しました。
  • 子テーマに関連する親テーマのスキャンに対応しました。

1.0.1

  • 互換性ライブラリにいくつかのバグ修正を加えて更新
  • チェックが途中で停止しないよう、スキップする処理を追加

1.0.0

  • PHP 7 サポートの確認を追加するためのメジャーアップデート
  • プログレスバーの UX を改善しました。
  • Fixed bug with the way the plugin menu was registered

0.1.0

  • 最初のバージョン
  • PHP 5.5/5.4/5.3に対応しました。
  • 基本的な WP-CLI コマンド