はじめに
自宅サーバでFedora 24から25へのアップグレードをしてみたところ、大きな問題が起こらなかったので、調子に乗ってWordpressが入っているサーバ(このサイトではないです。仮にこの記事では「Wordpressサーバ」と呼ぶことにします。)をFedora 25にアップグレードしてみたところ、PHPが7.0になってしまい、いろいろとハマったので、別記事を立てて書いていくことにしました。
PHPのバージョンは…
本題に入る前にPHPのバージョンを調べてみました。以下の通りです。
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
MariaDBのSSL接続の設定の変更
このWordpressサーバ自体ではデータベースサーバは稼働しておらず、別のMariaDBのサーバにSSL接続しているのですが、Fedora 25にアップグレードした後に、WordpressサーバのトップページのURLにアクセスしたところ、無情にも、
データベース接続確立エラー
とブラウザに表示されてしまいました。
「これはヤバいぞ…」と思いつつ、ぐぐってみると、こんなページを見つけたので、wp-config.phpの
となっている部分を
と変更してみました。MYSQL_CLIENT_SSLの代わりにMYSQLI_CLIENT_SSLと設定してみたわけです。これで、再度トップページにアクセスしてみたところ、「データベース接続確立エラー」とは表示されなくなったものの、今度はHTTPステータスコード500が返されてしまいました。
エラーが発生するWordpressプラグインの削除
次はapache httpdのログを見てみます。すると、spam-byebyeプラグインの初期化に失敗している旨のメッセージが出力されていました。そこで、ここでいったん落ち着いて、spam-byebyeプラグインのディレクトリをWordpressからは読めないところにいったん移動してから、もう一度トップページにアクセスしてみたところ、無事トップページが正常に表示されました。
(以下、2017/07/22補足)
…と思っていたのですが、
スポンサーリンク
WordPressサーバで運用しているブログの記事だけが表示されていなかったので、再度apache httpdのログを見てみました。すると、Ktai styleプラグインの実行時に、
「preg_replace関数の’/e’オプションはもうサポートされてないからpreg_replace_callback関数に置き換えな。」
っていうエラーが出力されていました。
実は、Ktai styleプラグインはもう使っていなかったので、spam-byebyeと同様に、Ktai styleプラグインのディレクトリをWordpressからは読めないところにいったん移動してから、もう一度トップページにアクセスしてみたところ、今度は記事も正常に表示されました。
MediaWikiのExtensionの更新+α
以下のようなメッセージがapache httpdのerror_logに出力されるので、それらに対する対応を行いました。
MediaWikiのExtensionの更新
最初は、以下のメッセージへの対応です。
これは、以下の手順でMediaWikiのExtensionを更新すると、Warningが表示されなくなります。
- 以下のコマンドを実行し、composer.pharをダウンロードする。
wget https://getcomposer.org/composer.phar
- MediaWikiのインストールディレクトリ(当該サーバでは/usr/share/mediawikiでした。)でroot以外の権限で以下のコマンドを実行する。
$ sudo php composer.phar require mediawiki/graph-viz ‘*’
EditPage.phpの修正
次に、以下のメッセージを表示させないようにするための対応を行います。
これは、EditPage.phpを直接修正することになります。以下のように修正してみました。他にも、ApiBase.phpで同様の修正が必要だったので、修正を行っています。
まとめ
今回のOSアップグレードでspam-byebyeプラグインをいったんアンインストールすることとなりました。今回アップグレードの対象としたWordpressサーバではコメント欄は閉じています。したがって、コメント欄にspamがやってくることはないので、思い切ってアンインストールをしたわけですが、当面の間はこの状態で様子を見ることにしました。
なお、MediaWikiのEditPage.phpへの修正はあくまでも一時的なものです。追加で修正の必要が生じた場合には、別途本記事を修正していきます。
この記事は以上です。