とりとめもなく、だらだらぬるぬる書き留めるらしいです。

PHP、Xoops、WordPress更新

昨日今日と、サイトにアクセスできない時間がチラホラあったかと思います。
実は、レンタルサーバにお願いして、PHP7.3を導入していただきまして、それに伴いXoopsとWordpressもPHP7対応版にアップデートしていたのですが・・・

・Xoops X本体:20180208->20181220
・Wordpress:5.2.0 -> 5.2.2

Xoops X 20181220は今まで使っていたPHP5.5でも動作するのですが、Wordpressの5.2.2はPHP5.6以上が必要だそうです。
なので、順番としては、

1.Xoopsを上げる
2.PHPを上げる
3.Wordpressを上げる

というように計画してみました。
しかしながら、だいたいすんなりいかないのがこの手のアップデート。
さらにXoopsはすでに利用者が少数で、検索してもあまり情報が無いのです。

Xoops X 20181220は、xupdate経由で特に問題なく更新できました。
(実はmainfile.phpのrootディレクトリ設定が間違っていて、xupdateがまともに動かなかったのは内緒)

その後PHP7に上げたら、いきなりトップページが真っ白に。
この時点で頭の中も真っ白です。

とりあえず落ち着いて、PHPデバグモードにしたり(いったんPHP5に戻し、Xoopsを動作可能状態にしないとダメです)サーバログを確認したりすると、どうやら今使っているテーマ(theme.html)にPHP7非対応の命令を利用していたことが原因でした。


ユーザエージェントの処理分岐で、eleg()を使っていましたが、これがPHP7では使えないとのことで、preg_match()に置き換え。
すると、真っ白なページから抜け出して、ほっと一息。

しかしXoopsは立ち上がったのですが、つれづれ日記にはいろいろと問題が発覚。
(1)記事本文やコメントが表示されない。(件名だけ見える。)
(2)日記用ブロックに”キャッシュディレクトリに書き込みできない”エラーが出る。
(3)Use of undefined constant エラー ワーニングがたくさん出る。

まずは(1)。
これは、記事で改行をいじるためにつかっていたbrBrbrというプラグインがPHP7に対応していなかったためでした。
最新版にアップデートすることで、無事本文が表示されるようになりました。

次に(2)。
レンタルサーバの仕様で、PHP5とPHP7の動作ユーザが異なっており(PHP5は管理者か専用権限、PHP7はユーザ権限)、PHP5が作成したuploadやtemplate_c、cacheディレクトリには、PHP7からアクセスができないということがわかったため、すべてのディレクトリのオーナーをユーザに変更してもらいました。
(レンタルサーバはセキュリティの関係上、SSHもTELNETも許されていない・・・安全ですが面倒とも言える)

最後の(3)は、WordpressをPHP7対応の5.2.2にアップデートしても消えなかったので、Xpressmeを疑いました、。
Xpressmeは、WordpressをXoops上に統合させるためのモジュールですが、最新版は2.5.4を最後に更新終了。
新しいバージョンが出る望みはほとんどなさそうなので、自力で直すしかありませんでした。
幸いなことに、custom_functions.phpとxpressme_class.phpの2つのソースファイルで、undefinedとされた定数をdefineしてやると、ワーニングは消えました。

とりあえずこんな感じでアップデート完了ですが、何かおかしな挙動を見かけたら、教えていただければ幸いです。



トラックバック・ピンバックはありません

ご自分のサイトからトラックバックを送ることができます。

コメント 2 件

Region2 より:
お疲れ様です。ちゃんと見えてますよ。
KEI より:
ご確認ありがとうございます。
Wordpressをアップデートしたあと、メディア(画像・映像ファイル管理機能)のベースURLが変わってしまい、以前登録したものが見えないとか、新しくアップロードしたものが見えないとかありましたが、それもなんとか解決できました。
しかし、Xoopsの開発をされている方はもうほとんど残っていないので、なかなか情報がなく辛いところです。

Region2 にコメントする

*