PukiWiki Advance


PukiwWikiで宅内ネット環境を構築していて、fedora17をインストールしたところ、PukiWikiが動作しません。fedora17でyumでphpをインストールすると、Ver5.4がインストールされます。このバージョンの新規にインプリメントされたある内部関数が、PukiWikiの関数とバッテングするからのようです。

PukiWikiにパッチをあてる旨の情報を、アップされているサイトもあったのですが、PukiWiki Advernceというのが、PukiWiki本家とは別にあるらしく、これがPHP 5.4にも対応との事です。この際、別のWikiにとも思いましたが、自作プラグインもあって、PukiWiki Advernceをインストールする事にしました。その時の覚え書きです。

PukiWiki AdvernceをDocument rootに展開後、その下のwebrootをDocument roootにし、以下の設定で動作した初期画面です。

・webroot/index.php
error_reporting(0);
define('DEBUG', true);をコメント

・wiki-common/auth.ini.php
 $adminpass = '{x-php-md5}・・・・を適当に変更


で、個人的に用途のため、赤丸で囲んだ所をカットします。なお、ページ編集のパスワードも無用です。なお、設定ファイルによる、スマートなやり方もあるかと思いますが、所詮php、分かって修正すれば、なにかあれば力技で対応すればとの思いです。

修正箇所

・wiki-common/auth.ini.php
$edit_auth=0  ->ページ編集での認証させないやめ。

・webroot/skin/thema/default/default.skin.php
$lastmodified=""          ソースのどこか先頭にでも追加
exist_plugin('navibar');  -> exist_plugin('hoge_navibar');
exist_plugin('toolbar');  -> exist_plugin('hoge_toolbar');
$footer = (is_page($footerarea) && exist_plugin_convert('footerarea'))?
                                                 do_plugin_convert('footerarea') : ''; 
->
$footer = (is_page($footerarea) && exist_plugin_convert('hoge_footerarea'))?
                                                 do_plugin_convert('footerarea') : ' ';  (スペース)

補足

できるだけ、ソースを汚さないようにとの思いですが、いっそうの事いらない所は、バッサを削除するのもすっきりしていいかと思います。ちなみに、タイトルの設定は以下のとうりです。
デフォルトページ
・wiki-data/pukiwiki.ini.pho
$defaultpage = 'Frontpage';

タイトルアイコン
・webroot/skin/thema/default/default.skin.php
$_SKIN['logo']['src']
$_SKIN['logo']['width']
$_SKIN['logo']['height']
$_SKIN['logo']['alt']

また、ページを更新すると、更新はされるのですが、サーバエラーとして、ファイルが無い。とのエラーメッセージが返ってきました。

ページ更新は、wiki-common/plugin/edit.inc.phpのplugin_edit_write()から、plugin_edit_honeypot()へ、そこでページ更新した後、 plugin_edit_cancel()をコールする事で、修正ページを表示させるようです。

get_page_location_uri($vars['page'])は、http://127.0.0.1/FrontPageみたいな結果を返します。それ故、ファイルが無い旨のサーバからのエラーが返ってきています。

とりあえず、この箇所を、http://127.0.0.1/?cmd=read&page=FrontPageとなるように変更しました。
unction plugin_edit_cancel()
{
    global $vars;

    pkwk_headers_sent();
/*
    header('Location: ' . get_page_location_uri($vars['page']));
*/
    header('Location: ' . get_page_location_uri("")."?cmd=read&page=".$vars['page']);
    exit;
}

備考

OSSとして、日夜頑張っておられる皆さんには、本当に敬意を表すところですが、このようなphpの変更に伴う非互換性には、どどどと、滅入ってしまうものです。

最終更新 2012/12/08 18:13:22 - north
(2012/12/07 19:53:16 作成)
添付ファイル
pukiwikiadvernce2.png - north
pukiwikiadvernce1.png - north


検索

アクセス数
3698047
最近のコメント
コアダンプファイル - sakaia
list_head構造体 - yocto_no_yomikata
勧告ロックと強制ロック - wataash
LKMからのファイル出力 - 重松 宏昌
kprobe - ななし
ksetの実装 - スーパーコピー
カーネルスレッドとは - ノース
カーネルスレッドとは - nbyst
asmlinkageってなに? - ノース
asmlinkageってなに? - よろしく
Adsense
広告情報が設定されていません。