WordPress Download Manager プラグイン 2.8.4 更新で画面が真っ白

先般、WordPress 4.3 アップデートで画面が真っ白 WP-Ban プラグインには要注意!という記事を書きましたが、またしても WordPress Download Manager を 2.8.3 から 2.8.4(2.8.5~2.8.6 も同様で以降 2.8.4) へアップデートすると、PHP 本体のバージョンにより画面が真っ白になります。また WordPress 4.3 以降の場合は有効化しようとするとエラーとなり有効化できません。

WordPress Download Manager は 2.8.3 から 2.8.4 でリビジョン的にはマイナーアップデートなのですが、ざっと斜め読みするとかなりのリファクタリング(内部構造の改善)がなされているようで、ある意味別もの、メジャーアップデートに近い気がします。

原因

エラー

[cc] Parse error: syntax error, unexpected T_STRING in /wp-content/plugins/download-manager/download-manager.php on line 11
[/cc]
そこで、Download Manager 2.8.4 の download-manager.php を見ますと11行目は namespace。単にPHP が 名前空間(namespace) を認識しないということです。名前空間がサポートされたのは、PHP 5 >= 5.3.0, PHP 7 以降ですから PHP のバージョンが 5.3.0 以前の場合は名前空間を識別できず、単純に TYPO(シンタックスエラー)となります。
まあマイナーアップデートでよくもこんな英断?をしますね、作者さん。ちょうど PostgreSQL 7.2 ⇒ 7.3 ぐらいのインパクトか! ってわかりずらいですね(汗)いずれにしてもチャレンジャーです。
Download Manager
バージョン 2.8.3 2.8.4
PHP名前空間
(namespace)
PHP 5 < 5.3.0 WP < 4.3 正常 真っ白画面
WP >= 4.3 正常 有効化不可
PHP 5 >= 5.3.0, PHP 7 正常 正常
<?php
/*
Plugin Name: Download Manager
Plugin URI: http://www.wpdownloadmanager.com/purchases/
Description: Manage, Protect and Track File Downloads from your WordPress site
Author: Shaon
Version: 2.8.4
Author URI: http://www.wpdownloadmanager.com/
*/

namespace WPDM;


if(!isset($_SESSION))
@session_start();

......................

対応策

対応策は WP-BAN の時と同様、Download Manager 2.8.4 のプラグインを削除もしくはリネームし、 2.8.3 にダウンデートすることになるかと思います。
ただこの Download Manager プラグインは以前にもアップデートでダウンロード対象ファイルがすべて消失するという大失態をやらかしているようですし、アップデートロジックを読み切れていないため、今回は削除ではなく、2.8.4 をリネーム(バックアップ)し、2.8.3 へダウンデート後、問題がなければ削除する方針にします。

事前準備

  1. download-manager.2.8.3.zip ファイルのダウンロード
    事前準備として、以下のダウンデート対象となる download-manager.2.8.3.zip ファイルをダウンロードしておきます。

  2. WordPress 非依存ツールの用意
    WordPress 4.3 未満で Download Manager 2.8.4 アップデートしてしまった場合は真っ白画面になり、ダッシュボードなどの管理画面すらアクセスできません。またWordPress 4.3 以降も download-manager ディレクトリのリネームを行うため、別途 FTP, SFTP, SSH やファイルマネージャーなどの WordPress 非依存のツールが必要になります。

Download Manager 2.8.3 へダウンデート

  1. Download Manager 2.8.4 の download-manager ディレクトリのリネームしバックアップ
    FTP, SFTP, SSH やファイルマネージャーなどの WordPress 非依存のツールを使い、プラグインのディレクトリ(/wp-content/plugins/)に入り download-manager ディレクトリを適宜 download-manager.2.8.4 などの名前にリネームしバックアップします。これで真っ白画面は解消されます。
    [cc] /download-manager ⇒ /download-manager.2.8.4[/cc]
  2. Download Manager 2.8.3 ファイルのアップロード
    先ほどダウンロードしておいた download-manager.2.8.3.zip ファイルを解凍し Download Manager 2.8.3 内の download-manager フォルダをすべてアップロードし手動でインストールするか、もしくはダッシュボードのプラグインから新規追加で「プラグインのアップロード」にて、ダウンロードした download-manager.2.8.3.zip ファイルを選択しインストールします。

  3. Download Manager 2.8.3 の有効化
    ダッシュボードのプラグイン一覧に Download Manager のバーションが 2.8.3 と 2.8.4 の2つ表示されますが、そのうち 2.8.3 のほうを有効化します。

  4. Download Manager 2.8.4 プラグインの削除
    最後に特に動作に問題がなければ、ダッシュボードのプラグイン一覧からバーションが 2.8.4 の Download Manager を削除します。すると 1.でリネームした download-manager.2.8.4 ディレクトリが削除されます。

以上でダウンデートの完了です。バックアップが不要であれば、download-manager ディレクトリを削除後、2.8.3 のアップロードでも構いません。