#author("2020-09-08T05:42:03+00:00","default:src128","src128")
#author("2021-02-27T12:19:51+00:00","default:src128","src128")
&tag(PukiWiki);
*目次 [#acbcc129]
#contents

*関連ページ [#j472c9a4]
-[[./設定]]
-[[./バージョンアップ]]

*設定 [#ff27ae05]

**スキン [#y022ce53]
-[[自作スキン - PukiWiki-official:https://pukiwiki.osdn.jp/?%E8%87%AA%E4%BD%9C%E3%82%B9%E3%82%AD%E3%83%B3]]からリンクされているが、生きているのが少ない。
-とりあえずclubskinあたりが良いか。
--[[メモ帳 | clubskin0.3をpukiwiki1.5.1に適用する:https://blog.sky-net.pw/article/75]]

*プラグイン [#u6760009]

**attachref.inc.php [#t8ac7c3f]
-画像アップロード用のリンクと画像埋め込みを実現するプラグイン。
-文字コードのUTF-8への変更、パスワードを要求するように設定して、かつソースの修正が必要。
-[[[PukiWiki] PukiWiki便利なプラグイン – 今西衞研究室:https://www.okomeda.net/wp/381/]]
#pre{{
// 管理者だけが添付ファイルをアップロードできるようにする
define('ATTACHREF_UPLOAD_ADMIN_ONLY',TRUE); // FALSE or TRUE
// アップロード/削除時にパスワードを要求する(ADMIN_ONLYが優先)
define('ATTACHREF_PASSWORD_REQUIRE',TURE); // FALSE or TRUE

$pass = array_key_exists('pass',$vars) ? $vars['pass'] : NULL;
}}


***パスワードなしで使用 [#af236fdc]

-全体を編集制限している場合(自分一人しか使用しない場合)、上記の管理者パスワード入力を省略したい。
-その場合attachref.inc.phpとattach.inc.phpの設定を変更する。
-まずattachref.inc.php。
 // 管理者だけが添付ファイルをアップロードできるようにする
 define('ATTACHREF_UPLOAD_ADMIN_ONLY',FALSE); // FALSE or TRUE
-次にattach.inc.php
#pre{{
// 管理者だけが添付ファイルをアップロードできるようにする
//define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE); // FALSE or TRUE
//define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE); // FALSE or TRUE
define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE); // FALSE or TRUE

// 管理者だけが添付ファイルを削除できるようにする
//define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', TRUE); // FALSE or TRUE
define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', FALSE); // FALSE or TRUE
}}
-これで添付、削除時の管理者パスワードは省略できる。ただし編集用のパスワードは制限されているので、安全性はかわらない(はず)。
**html.inc.php [#o11583a1]
-[[Sonots' PukiWiki プラグイン:http://pukiwiki.sonots.com/]]からダウンロードできる。
-pukiwiki 1.5.1でも動作。

**logparanoia.inc.php [#b09de6cd]
-設置方法ページ内に「#logparanoia()」を追加するか、スキンに以下を追加する。
#pre{{
<?php require_once(PLUGIN_DIR. 'logparanoia.inc.php');
echo plugin_logparanoia_convert() ?>
}}
-MenuBarに追加したほうが簡単か。
-PHP 7.1とPukiWiki 1.5.1で使用する場合、splitをexplodeで置き換える(4箇所)。
*Tips [#u4dd1344]
**さくらのレンタルサーバー(cgi版)でBasic認証を使う [#y14ee995]
-[[FastCGI版PHP環境で、PukiWikiのBasic認証(auth)を有効にする | rtwiki管理人日記:http://blog.rtwiki.net/pukiwiki/fastcgi_auth/]]にあるように、.htaccessに一行追加するだけでOK。
 SetEnvIfNoCase Authorization "^(Basic .*)$" HTTP_AUTHORIZATION=$1
**GETで検索できるようにする [#a713528e]
-1.4.7ではデフォルトでGETで検索できない。[[BugTrack/796 - PukiWiki-dev:http://pukiwiki.sourceforge.jp/dev/?BugTrack%2F796]]。GETを有効にする場合手動で元に戻すしかない。
-[[xyzzyからpukiwikiを検索する - eggmanの日記:http://d.hatena.ne.jp/eggman/20071024/1193210228]]を参考にする。
-search.inc.phpを編集。
--PLUGIN_SEARCH_DISABLE_GET_ACCESSを0に変更。GETを無効にしない。
 define('PLUGIN_SEARCH_DISABLE_GET_ACCESS', 0); // 1, 0
--formのmethodをgetに変更し、内部にhiddenタグを追加。
#pre{{
<form action="$script?cmd=search" method="get">
 <div>
  <input type="hidden"  name="cmd" value="search" />
  <input type="text"  name="word" value="$s_word" size="20" />
}}

**Alfredから検索できるようにする [#t32d1e59]
-上記方法でGET検索可能にすればAlfredなどから呼び出すことができるようになる。Web SearchのURLに例えば次のように設定する。
 http://www.srcw.net/wiki/index.php?encode_hint=%A4%D7&cmd=search&word={query}

**msearch.inc.phpを動かす [#p19246f2]
-[[自作プラグイン/msearch.inc.php - PukiWiki-official:http://pukiwiki.sourceforge.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fmsearch.inc.php]]に、[[質問箱3/437 - PukiWiki-official:http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B13%2F437]]の修正を施し、漢字コードをUTF-8に変換すれば動く。
-InterWikiNameに以下のように記述。
#pre{{
-[./?plugin=msearch&site=this(utf8),http://www.srcw.net/wiki/index.php(utf8)&word= msearch]
}}
-次のように呼び出す。
 #lookup(msearch,マルチ検索) 

**暗号化パスワードの設定 [#q87d2e8e]
-[[pukiwikiでadminpasswordを設定する:https://usado.jp/spdsk/2017/04/17/post-1469/]]
-https://srcw.net/wiki/?cmd=md5 にアクセス。
-PHP MD5を選んで生成。

*トラブルシューティング [#me5299ef]
**yesterdayのカウンターが0になる。 [#me13cff4]
-[[BugTrack2/141 - PukiWiki-dev:http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F141]]
-[[Wiki/PukiWiki/counterプラグインでyesterdayが0になる件 - TOBY SOFT wiki:http://tobysoft.net/wiki/index.php?Wiki%2FPukiWiki%2Fcounter%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A4%C7yesterday%A4%AC0%A4%CB%A4%CA%A4%EB%B7%EF]]

**ref.inc.phpで拡大縮小できない。 [#oa0afbb5]
-たぶんref.inc.phpのバグ。先頭に"./"をつけないとだめ。
 #ref(./test.jpg, 50%)

**日本語ページにファイルが添付できない [#d289c2b0]
-ファイルをアップロードすると「Runtime Error: No such page」エラーが発生。
-attach.inc.phpで"no shch page"を出力している場所で$pageを出力してみると文字化けしていた。
-php.iniのmbstring.http_inputをautoからUTF-8するととりあえず解消。
#pre{{
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 1
}}
-2019/07/16(火)更新: http_inputを変更するよりencoding_translationをOffにするほうが良さそう。
#pre{{
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
}}

**PHP 5系に対応しているはずのPukiWiki 1.5.1で大量にNoticeやWarningが表示される [#l93fd232]
-例えば以下のようなメッセージが表示される。
#pre{{
Strict Standards: Declaration of Heading::canContain() should be compatible with Element::canContain($obj)
Deprecated: ini_set(): Use of mbstring.http_input is deprecated in
}}
-原因はerror_reportingの設定の違い。実はさくらインターネットの共有サーバーではerror_reportingの値が"4177"に設定されていて、エラーが抑制されているっぽい。そのまま通常環境にコピーして実行するとエラーが表示される。
-index.phpでerror_reportingを設定すると良い。
#pre{{
error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
}}

**PHP 5.4以降で「Fatal error: Call-time pass-by-reference has been removed」が発生 [#xd707ddb]
-例えばpopular2.inc.phpは以下のように修正する。
#pre{{
 $ git diff
diff --git a/plugin/popular2.inc.php b/plugin/popular2.inc.php
index 07c9926..344a38d 100644
--- a/plugin/popular2.inc.php
+++ b/plugin/popular2.inc.php
@@ -123,7 +123,7 @@ function plugin_popular2_convert()
                $max = array_shift($args);
                $except = array_shift($args);
                $list = array_shift($args);
-               array_walk($args, 'plugin_popular2_check_arg', &$params);
+               array_walk($args, 'plugin_popular2_check_arg', $params);
        }
        if($list == '') $list = 'total';
        if($except == '') $except = '';
}}

**メニューが表示されない [#x5eeea0d]
-「#menu(): MenuBar is not readable」と表示sれる。
-$read_authを0にしても、$read_auth_pagesが設定されているとだめっぽい。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS