ZAPAnet総合情報局 > ZAPAブログ2.0 > 「PukiWiki の開発プロジェクトの再建案」を読んで

「PukiWiki の開発プロジェクトの再建案」を読んで

2013年03月28日 プログラミングTIPS
数あるWikiシステムの中でも、PHPで動作しデータベースを必要としない「PukiWiki」は古くから人気がありました。うちのサイト内でも、多くのサイトをPukiWikiシステムで運営しています。その稼働実績は、もしかしたら世界一かもしれません。

過去には、PukiWikiシステムで構築した「ドラゴンクエスト9攻略Wikiが月間4500万PVを突破!」したこともあります。1時間あたりの最高PV数は、約10.6万PVを記録しました。PukiWikiにこれだけの負荷をかけたサイトは、うちのサイトくらいではないでしょうか。もちろん素のPukiWikiでは負荷が高すぎて全く耐えられないので、改造して使っています。

さて、今日「PukiWiki の開発プロジェクトの再建案 - Sarabande.jp」という記事を読みました。
PukiWiki は国内の個人学習やゲーム攻略サイトなどで広く使われているが、ゼロ年代後半から開発が停滞しており、5年以上の正式リリースがなされていない状態である。PHP 5.3 がリリースされて3年以上経過しており、ユーザーによる対応パッチが公開されているが、いまだに PHP 5.3 に対応した正式リリースが登場しておらず、開発はほとんど止まっていると判断される。

古い PHP のバージョンに対応できない状態が続けば、ユーザーがセキュリティメンテナンスされておらず安全ではない古いPHP のバージョンを使うことを強制させることになるし、PHP 5.3 以降を対象とする PukiWiki のプラグインや別の CMS を導入しようとするユーザーの妨げになる。

現在うちのサーバーはPHP5.4系でPukiWikiを動かしています(PHP5.3のサポートは今月で終了ですので)。PHP5.4でそのままのPukiWikiが動くかというと、全然動きません。

うちのサイトでは、テストもしないでいきなりPHPのバージョンを上げたので、問題点を見つけて地道にソースコードをいじっていきました。

hex2bin()、&new、date()、htmlspecialchars()などで問題が出ます。これらはPHPの互換性の問題も多く、特にhtmlspecialchars()はPHP5.4から、デフォルト文字エンコーディングがUTF-8に変わってしまうなど、PHPの困った問題に直面します。自分でPukiWikiのソースコードを編集したのも、数十ファイルにおよびました。おそらく一般の人はついて来られません。キャッシュのシステムや負荷面でのカスタマイズを数多く施したオリジナルのPukiWikiになっているので、パッチをあてていくのも大変でした。UTF-8版ではなく、EUC-JP版を使っているので特に。


現状、新規にPukiWikiを導入しようとする人はほとんどいないのではないでしょうか。EUC-JP版はPHP5.4で完全に動きませんし。PukiWikiの機能そのものの追加を求める声もないかと思います(6年も正式版がリリースされていませんので)。PukiWikiにはPHPのバージョンアップによる互換性対応のパッチ当てが求められていますが、それも皆各自対応という感じでちょっと困った感じですね。

というわけで、新規にPukiWikiシステムを構築したい人は、PukiWiki Plus!PukiWiki Advanceなどを使った方が良いです。すでにPukiWikiを使っている人は、PukiWiki Plus!PukiWiki Advanceなどに移行するか、自力でPukiWikiにパッチをあてていかないといけないので大変ですね。