錯誤試行

PCや生活の試行錯誤の成果を報告するブログ

Android上でpukiwikiを稼働させる

PCにpukiwikiというWikipedia(を動かしているソフト)の親戚のようなソフトを入れて、個人的なメモ書きとして使用している。そこで、スマホでこのメモ書きをいつでもどこでも持ち歩いて見られたら大変便利だと思い立ち、Android上でpukiwikiを稼働できるかどうか調べてみた。
すると、KSWEB(Google Play)というアプリ(2.99ドル:5日間試用可)をインストールすると、簡単にpukiwikiの稼働に必要な環境が実現できることが分かった*1
結論として、pukiwikiを正常に動作させるためにはKSWEBのPHPバージョンは5.6.12を指定し、pukiwikiは1.5.0を使えばよいと分かった(Androidバージョン6.0にて動作確認)。以下に詳しい内容を記す。

(2019/1追記)
2019/1現在のKSWEB3.93はPHPのバージョンが7.2.3で、pukiwikiはやはりエラーが出て動かない(pukiwiki1.5.0にて確認)。KSWEBの設定画面でPHPのタブから「PHP Version」の右脇の「7.2.3」をタップすると、「External Pack」のダウンロードリンクがあるのでタップしてダウンロードの上、「+」ボタンから落としたファイルを指定する。するとPHPのバージョンを選べるようになるので、バージョン5.6.31を選択した上でKSWEBを一旦終了させて再度起動すると正常に動くようになる(Androidバージョン8.0にて動作確認)。

pukiwikiの最新のバージョンは記事作成時点(2017/9)で1.5.1だが、記事作成時点のKSWEBの最新バージョンである3.7.3(PHPバージョン7.1.5)でEUC-JP版のpukiwiki1.5.1を動かしたところエラーが出てページが表示されない(個別ページを表示しようとするとattach.inc.php内でT_STRING関連のエラーが発生した旨が表示される)。
手元のPCのPHPバージョン7.0.22の環境下ではEUC-JP版のpukiwiki1.5.1が正常に動作しているため、PHPのバージョンアップにより不具合が生じている可能性が考えられた(ただしpukiwiki公式サイト(回答の項目の一番下)ではPHP7.1への対応が明記されているので、また別の原因かもしれない)。
そこでPHPバージョンが5.6.12であるKSWEBバージョン3.4でpukiwiki1.5.1を動作させてみるが、今度はリンクがうまく処理されず、「最終更新」ページで更新されたページへのリンクがブラケットに囲まれて表示されたり、個別ページでリンク文字列を設定したリンクがURLしか表示されていなかったりする。ならばとpukiwikiをバージョン1.5.0に差し替えたところ、不具合は改善し正常な動作を確認できた。

KSWEBではMySQLも動作させることができるので、WordPressも動くと思われるので機会があれば試してみたい(Google Playのレビューコメントでは動作しているとのこと)。

参照サイト

*1:webサーバであるlighttpdPHPの他、MySQLやNginx,Apache,FTPサーバ機能なども用意されている。なお、KSWEBの他にもPHPが動くウェブサーバ機能を提供するアプリはあるようで、無料でもPHPが動くアプリがあるかもしれないし、Termuxでサーバ環境を用意することも可能かもしれないが未確認