Windows環境でpukiwikiを使う時に便利 / pukiwikiが真っ白に
Pukiwikiの話題をふたつー。
Windows環境でpukiwikiを使う時に便利
我が家のPCではpukiwikiが動いてます。
友人と共同作業するために開放してあるのですが、私にとってはローカルなわけで。大量にページを更新したり、一括置換するのには鯖を通さないで直接.txtを編集した方が高速。
そんな状況で便利なのが以下のソフト。
Vector:ひとりWiki(WindowsNT/2000/XP / インターネット&通信)<MASのページ
Vector:複数行置換(Windows95/98/Me / ユーティリティ)<INASOFT
Vector:日付を戻そう(Windows95/98/Me / ユーティリティ)<reicot.com
編集時に便利なのが「ひとりwiki」。
ひとりwikiは様々なwiki文法に対応している、スタンドアロンでの使用を前提にしたパーソナルなwiki。これでpukiwikiのwikiフォルダを開くわけです。
ネイティブな実行ファイルなのでPHPより早いんですが、各文法を完全にサポートしているわけではないので注意。pukiwikiのAutoLinkとか、高度なテーブル記法とか、当然プラグインとか通りませんが、本文の編集だけなら問題ありません。
ブラウザ的なページ移動(前のページに戻る)とか使えません(最近のver.なら「戻る」は使える)。「最近」タブを駆使してください。
一括置換もwikiフォルダを直接処理すればよいわけですが、pukiwikiの.txtの文字コードはEUC-JPなので、EUCに対応した一括置換ソフトが必要です。
※ UTF-8版pukiwikiもありますが、ひとりwikiはEUC-JPにしか対応してなかったりで。ウチはEUC版。
私が使ってるのは「複数行置換」。他の自称EUC対応ソフトはなぜか置換できなんだ……。
しかしここで注意したいのがタイムスタンプ。ひとりwikiも複数行置換もファイルのタイムスタンプ(プロパティから見れますね、更新日時)を更新します(ていうかタイムスタンプってそういうものですが)。
pukiwikiはファイルのタイムスタンプを更新チェックに使っているので、内容的な意味のない小さな修正でも「最新の*件」にデカデカと。こいつぁ困る。
そこで活躍するのが「日付を戻そう」。
こいつはある時点のタイムスタンプを記録しておいて、あとで書き戻しできるソフト。ようするに編集前にタイムスタンプを記録しておいて、編集後に書き戻してしまえばいいわけですな。
他に.txt直接編集の注意点としては、pukiwikiを通さないとpukiwikiのリンクキャッシュが更新されないので、relatedプラグインなどがまともに働きません。"?cmd=links"でリンクキャッシュを手動更新しましょう。
さあみんなもレッツトライ!(ローカルのWindows鯖でpukiwiki動かしていてる人間がどれだけいると。
PHPがタイムアウトしてpukiwikiが真っ白に。
最近(もう結構前?)、pukiwikiでページを編集すると真っ白になることが。でもリロードすると編集自体には成功してるようなので放置。
しかし。リンクキャッシュを更新すると確実に真っ白になることが判明。こら参ったと調査を開始。
調べたところ、PHPがタイムアウトしてるのが原因のようだ。リンクキャッシュ更新の際にpukiwikiは制限値を再設定してタイムアウトを防いでいるのだが、再設定できなくなった模様(PHPの仕様変更?)。
というわけでphp.iniの"max_execution_time"を"180"に増やしてことなきを得る。