PHP-8.5か4への移行 (3) 絶望的😓

絶望的です😓

PHP 7.4.33のbuild・動作成功を受けて,8.0.xの最終版8.0.30をbuildしました.7.3.44と同じconfigureオプションです.buildは成功しましたが,libphp.soを差し替えると,WordPressはエラーメッセージが出て正常に動きません.

最初は,アクセスランキングwidgetでエラーが出た,という表示だったのでそれを外しましたが,また別のエラーが出ます.

えい,面倒だ,ということで,全部のプラグインを外し,Themeをデフォルトにする “WP Safe Mode” というプラグインをインストールしてみましたが,それでもPHP 8.0.30ではエラーが出てしまいます.

さて困った,ということで,こういうことに決めました.現在のWordPressはこのまま7.4.33で暫定的 に運用を続けます.

年が明けて,小遣いの算段をしてOKとなればRaspberry Pi 5 (RPi5) 用にNVMeのSSDを買い,RPi5にRaspberry Pi OSを仕立ててそこに空(から)のWordPressをインストールします.

RPi5を外向きのサーバーにするには,他にメールの設定などが必要なので,そんなことも始めます.

全部OKとなったところで,外向きのサーバーをRPi4からガチャッとRPi5に切り替えます.

そしてWordPressの過去の記事は移転するソフトを使うか,MariaDBから吐き出して読み込むことをします.どっちみち,MariaDBにはWordPress以外のデータもあり,それらは移行しなければなりませんから,手作業でもたいして手間は増えません.

以上です.

不安定宣言は解除で,当分またこのWordPressはこのまま暫定的に運用します.

暫定税率は50年続いたけれど,そんなに長くはかかりません😓
同上😓

PHP-8.5か4への移行 (2) PHP-7.4.33自力buildに成功

自力buildに成功しました.configureオプションは,以前自分で7.3.9をbuildしたときと同じものを使用しました.

動いたので問題はないのですが,これまで動いてきた7.4.33(/usr/lib/httpd/modules/libphp7.so)をどのように入手したのか,関連するファイルのありそうなところを見てみましたが,判明しませんでした.

いちおう,pkgtoolでインストールしたようなのですが,SlackBuildsでもなさそうです.

PHP-8.5か4への移行 (1)

今日現在,PHPの最新安定版は,8.5.1です.多くのLinux Distribution (以下 “distro”)では,8.4.xの10以降が正規に配布されているようです.8.4.xは既にOld stableで,最終は8.4.16です.

さて,PHP-7.4.33で動いているWordPressには管理画面にログインする度に「新しいPHPにしろ.最低限8.3.xにはしろ(意訳)」と叱られます.

Slackware ARM 15.0 (32bit版)は7.4.33が最新です.Slackware ARM (aarch64版)は,Slackware-currentというまあβ版のような状況です.そこについているのは8.4.10で,これが使えればWordPressには叱られなくなりますが,32bit用に自分でコンパイルし直さなければなりません.

そこでやってみました.昨日 記録しないで適当にやったのですが,以下思い出しながら書きます.

最初は,最新のソース8.5.1をかつて自分で7.3.9をビルドしたときのconfigure optionでやりました.このときのホストは既にARM(Raspberry Pi 4 Model B)でした.

いくつかのwarningがでたものの,configureもmakeも成功しました.しかし,WordPressは起動してくれません.

こんなエラーメッセージが出て手がかりすらありません.

やむなく,8.4.16のソースをコンパイルしても同様です.また,configure オプションは,Slackware aarch64 currentから持ってきて試しましたが,これも同じです.

その過程でPukiWikiも動かしてみたのですが,なんと,とりあえずは動きます.細かいところは確認していませんが😓

今日は,

  • 7.4.33をSlackwareのphp.SlackBuildスクリプトでbuildしてみる
  • うまくいったら,そのconfigureオプションで8.0.xをbuild
  • うまくいったら,8.1.x…

としてみようかと考えています.

2025年12月31日(水).
この辺がなんとも明確ではなくて,Slackware ARMの正規のupdateできたのか,自分でbuildしたのか,残存のファイルなどを確認しましたが,判りませんでした.
2025年12月30日(火).

PukiWikiの移転というか隔離

経緯

PukiWikiは,2004年にWikiWikiというサイト/仕組みを知り,今後はこの流れだろうと感じ導入しました.

と,簡単に書きましたが,当時は日本語が使えるWikiがなかなか見つかりませんでした.その後実際にWikiWikiの一種であるWikiPediaは隆盛を誇りました.その他のWikiはそんなに人々に知られることはありませんが,基本的な考え方はWordPress等多くのCMS系Webに受け継がれています.

2004年まではご多分にもれずhtmlで日記的なWebを書いていました.当時は当たり前だったのでそれほど不便に感じませんでしたが,WikiWikiの編集の手軽さと機能,特にオートリンク機能には魅了されました.htmlではけっこう面倒なサイト内のリンクを勝手にやってくれるわけです.

ということで,当時日本語をサポートしてWikiWikiらしいPukiWikiを見つけて飛びつき,個人的なBLOG的Webを移行したわけです.

それからもう21年も使っています.どうしてもボランティアベースのサポート体制は強力とは言えず,どんどん進化していくPHPに着いていけず,現在のPHPは8.4ですが,PukiWikiは8.1に対応したところです.8.1もサポート終了目前と思われます.

PukiWikiを使い始めて間もなくどうもBLOGにはむかないと感じ,BLOGらしいBLOGソフトを探したところ,ZopeというCMSで動くCOREBlogを見つけました.

2005年に外部公開向けのBLOG部分はPukiWikiからそのCOREBlogに移行しました.清水川さんというかたの開発で,便利に利用させていただき感謝しています.その後PloneベースのCOREBlog2に移行して2013年頃まで筆者の公開ブログとして運用してきました.

PukiWikiもBLOG以外の情報を書く,主に自分用のデータベースとして使い続けました.

2013年からWordPressの運用を始めました.COREBlog(2)はZopeやPloneのupgradeに伴い動かなくなってしまいましたが,PukiWikiは個人用データベースとして,今日まで途切れることなく動かし続けています

現役時代は,たまに国内外に出張することがあり,個人的な旅行もたまにしました.ごくまれにPukiWikiにため込んだデータが出先から必要になることもありましたが,現在は家庭内LANからアクセスできれば十分です.

WordPressは世界中の猛者たちがよってたかって開発・サポートを続けていますので,当然ながら最新のPHPに対応して,ユーザーに最新版のPHPの使用を勧めます.ということで,最新のPHPとPukiWikiをサポートする最新版のPHPの2本立てにする必要が出てきました.

Slackware ARMでPHP8.4のbuild

数か月前にもPHPの最新版のbuildをsbopkgで試みましたが,その時はbuildできず問題を先送りにしました.しかし,今回8.4を同じくsbopkgでbuildしたら,できてしまいました.それで先に進む必要が出たわけです.できたPHPは8.4.10です.ちなみに,PHP 8.1.xがもしbuildできればまだセキュリティーアップデートのサポート中で,PukiWikiも「動く」としているのですが,残念ながらSlackBuildsにはありません.

自力でbuildする手もないでもないですが,PukiWikiのPHP8.2以降のサポートより先に8.1セキュリティーアップデートが終了したら,現在と同じ状況になりますから今苦労することはあまり得策ではありません.

ということで当初の方針通りWordPressは最新のPHP系列で,PukiWikiは別の隔離したシステムで動かすことにします.

隔離システムの候補としてMacPorts

いくつか方法を考えました.PHPのサポート終了の7.4系列,もしくはPukiWikiがサポートしている最新の8.1系列をどこかで動かしてそこにPukiWikiを移転する.ざっと考えれば,

  1. 他にRaspbery Piなどのシステムを立ち上げる
  2. どこかのWSで仮想マシンを動かしてそこでPukiWikiを動かす

ChatGPTはVirtual Hostも選択肢に挙げましたが,うちの環境ではたぶん無理なので外しました.

1は簡単そうでそうでも無いのです.たとえばRaspberry PiにRaspberry Pi OSをインストールした場合,そこに古いPHPをインストールするのはそんなに簡単ではありません.一番簡単なのは,別マシンでSlackware ARM 15.0を動かすことですが,面白みに欠けます.

2も不可能ではないですが,WSをそのために24時間運用する必要があります.

そこで考えついたのが,表記のMacPortsで動かすことで,1と2の折衷案とも言えます.

メインWSのM4 Mac miniでMacPortsによりPukiWikiが動くPHPをインストールできれば,少なくともメインWSで作業しているときにPukiWiki内の個人データが必要になったらアクセスはたやすいです.また家の中の他所からのアクセスもメインWSが動いていれば大丈夫です.

自宅外からアクセスとなると一工夫必要になりますし,そもそも24時間WSを動かしておく必要もあります.ただし,現実的にはその必要性はほとんど無い〜皆無の間だと思います.

PukiWikiを1.5.4に

PHPを8.xにする前に,PukiWikiを最新版にupdateする必要があります.筆者の走らせていたのは1.5.3で,2022年にupdateしています.「動いているシステムをいじらない」という金科玉条を珍しく守っていました.

まずは,1.5.3のディレクトリーに何かの名前を付けて,cp -Rdvpでまんま複製します.ここには手を付けません.次に1.5.4のzipを展開し,中身をPukiWikiのディレクトリーに上書きコピーします.

すると,pukiwiki.ini.phpskin.php等がデフォルトに戻ってしまいますので,先に複製した保存用データを見比べて修正します.この辺の作業はブラウザでアクセスして確認しながらやることになります.ハッシュ化されたパスワードのコピーを忘れなければ後は気がついたらで大丈夫と思います.

後で気がついた主なものは,

  • autolink機能をonにする
  • chasen/kakasiの選択とpathの修正

くらいでしょうか.

MacPortsでPHP80がインストール可能

表題の通りです.案外簡単にインストールできました.が,それは結果から見ればそうなんですが,一日悩みました.

MacPortsで,

port install php80 +apache2

とかすると,簡単にphp8.0.30がインストールできるのですが,動いてくれないのです.httpd.confにphpという言葉が一つも見つかりませんし,libphpがどこにもできません.

port install php80-apache2handler
/opt/local/bin/apxs -a -e -n php mod_php80.so

の2つのコマンドが必要なようです

なぜ8.1でなく,8.0なのかは詳しくは忘れましたが,8.1で行き詰まったからです.後で余裕ができたら8.1を再度試してみます.

Chasenがインストールできない

MacPortsにChasenはありますが,インストールできませんでした.辞書の要らないKakasiは動きました.

今後の予定

現在,元のサイトでPukiWiki 1.5.4を動かして問題がないか確認しています.また,M4 Mac miniには時々rsyncでコピーして,こちらも確認しています.pukiwiki.ini.phpなどを毎回直すのは面倒なのでfilter機能で同期から除外しています.

PukiWikiの移行が済んだら,WordPressのPHPを8.4.xにupgradeします.

そのためWikiPediaをWikiと略す人が多数いますが,WikiPediaはWiki(Wiki)の考え方に沿ったひとつのWikiに過ぎません.
2025年12月30日(火)現在8.5.1です.
WordPressの運用を開始した2013年頃から,非公開の個人専用にしました.
執筆時点での最新版のPHPは8.4.11.
ハードウェアがあればAMD64版でもいいですが.
筆者はシステムのメンテはSlackware流儀,即ちroot権限で行います.