#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が設定されているとだめっぽい。