先般、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]
[/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 ぐらいのインパクトか! ってわかりずらいですね(汗)いずれにしてもチャレンジャーです。
まあマイナーアップデートでよくもこんな英断?をしますね、作者さん。ちょうど 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 へダウンデート後、問題がなければ削除する方針にします。
ただこの Download Manager プラグインは以前にもアップデートでダウンロード対象ファイルがすべて消失するという大失態をやらかしているようですし、アップデートロジックを読み切れていないため、今回は削除ではなく、2.8.4 をリネーム(バックアップ)し、2.8.3 へダウンデート後、問題がなければ削除する方針にします。
事前準備
- download-manager.2.8.3.zip ファイルのダウンロード
事前準備として、以下のダウンデート対象となる download-manager.2.8.3.zip ファイルをダウンロードしておきます。 - WordPress 非依存ツールの用意
WordPress 4.3 未満で Download Manager 2.8.4 アップデートしてしまった場合は真っ白画面になり、ダッシュボードなどの管理画面すらアクセスできません。またWordPress 4.3 以降も download-manager ディレクトリのリネームを行うため、別途 FTP, SFTP, SSH やファイルマネージャーなどの WordPress 非依存のツールが必要になります。
Download Manager 2.8.3 へダウンデート
- 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]
- Download Manager 2.8.3 ファイルのアップロード
先ほどダウンロードしておいた download-manager.2.8.3.zip ファイルを解凍し Download Manager 2.8.3 内の download-manager フォルダをすべてアップロードし手動でインストールするか、もしくはダッシュボードのプラグインから新規追加で「プラグインのアップロード」にて、ダウンロードした download-manager.2.8.3.zip ファイルを選択しインストールします。 - Download Manager 2.8.3 の有効化
ダッシュボードのプラグイン一覧に Download Manager のバーションが 2.8.3 と 2.8.4 の2つ表示されますが、そのうち 2.8.3 のほうを有効化します。 - Download Manager 2.8.4 プラグインの削除
最後に特に動作に問題がなければ、ダッシュボードのプラグイン一覧からバーションが 2.8.4 の Download Manager を削除します。すると 1.でリネームした download-manager.2.8.4 ディレクトリが削除されます。
以上でダウンデートの完了です。バックアップが不要であれば、download-manager ディレクトリを削除後、2.8.3 のアップロードでも構いません。
同様の症状があり困っているところ、検索でここにたどり着きました。
WEBサイトを作ることは詳しくないのですが、丁寧に書かれているおかげで助かりました。
おかげさまで解消することができました。
お礼申し上げます。
ご連絡ありがとうございます。こちらこそお役に立ててなによりです。
お客様のサイトで同様の症状がおきてしまい困っておりました
本当に助かりました
ありがとうございました
ご連絡ありがとうございます。こちらこそお役に立ててなによりです。
助かりました!
ダウンデート成功し復活です。
ありがとうございました
ご連絡ありがとうございます。こちらこそお役に立ててなによりです。
ありがとうございます!
有効化できずに困っていましたが、
詳しいご説明で大変助かりました^^
ご連絡ありがとうございます。こちらこそお役に立ててなによりです。