WordPress - Exec-PHPでPHPが実行できなった場合の対処 | Technolog.jp - ICTウェブマガジン

WordPress – Exec-PHPでPHPが実行できなった場合の対処

  • 2009/07/28
  • カテゴリー:CMS

「Exec-PHPで突然PHPが実行できなった」なんていうことは非常に稀なケースだと思います。筆者はサーバ移行の際にデータインポートが上手くいかなかったためか、そのような現象が起きました。同じような状況に陥った方のために簡単な対処方法を書かせていただきます。

まず事前に用意しておいた方が良いプラグインはExec-(念の為、オフィシャルサイトから新たにExec-PHPをダウンロード)を除き2つあります。

お勧めプラグイン

前者はMySQL上のゴミデータ(レコード単位)を抽出し、削除するためのプラグイン。後者はMySQL上の任意の文字列を置換するプラグインです。これらのプラグインはWordPressでウェブサイトを管理・運営する上で後々重宝するものなので有効化しないまでも常備しておいた方が良いかもしれません。

それでは実際の操作方法です。

Exec-PHPの無効化

この後の操作のため、はじめにExec-PHPを無効化しておいてください。

Exec-PHPによる設定情報の削除

Exec-PHPではユーザ権限によりPHPの実行の可否を判断しており、その情報がデータベーステーブル「wp_options」内に定義されているようです。筆者の場合はこの設定値に異常をきたしたため、PHPが実行できなくなりました。したがって、この値をクリアすればいいのですが、ここで便利なのが「Clean Option」です。管理画面の [ツール] – [Clean Options] を開き、「Find Orphaned Options」をクリックし、次画面で「exec-php」にチェックを入れ、「View Selected Options Information」をクリックします。3画面目で「Yes, Remove ALL of these options from the wp_options table.」にチェックを入れ、「Submit」を押下すればクリア完了です。

Clean Options 1

Clean Options 2

投稿・ページ内のPHPの書き換え

筆者の環境ではこの問題が発生した際、投稿やページ内のリンクに使用していたコード(<?php bloginfo(‘url’); ?> など)に「&phpMyAdmin=4d4c4a669c94t49871be3」というゴミコードが紛れこんでいました。おそらくこのコードは人によって違うと思うので、確認してください。これをすべて削除または置換するのに便利なのが「Search Regex」です。[ツール] – [Search Regex] から実行することができます。

Exec-PHPの有効化

最後に新たにダウンロードしたExec-PHPを有効化してあげれば完了です。

WordPress中級者以上にとってExec-PHPは重要度の高いプラグインだと思いますので、もし、同様の事象でお困りの方がいらっしゃればお試しください。

(Visited 2,241 times, 1 visits today)