*PukiWikiのベースディレクトリを指す定数が欲しい [#g8ad8c20] -ページ: [[BugTrack2]] -投稿者: [[ELF]] -優先順位: 低 -状態: 却下 -カテゴリー: 本体新機能 -投稿日: 2005-02-28 (月) 01:31:17 -バージョン: **メッセージ [#ted2e910] PukiWikiのコアがインストールされたディレクトリ((<pukiwiki>/lib/pukiwiki.phpの<pukiwiki>を便宜上コアがインストールされたディレクトリと書いてます))を指す定数が欲しいです. 例えば複数wikiを1つのPukiWikiでこなすときに, define('PLUGIN_DIR', PKWK_DIR . 'plugin/'); といったようにしてプラグインを共用化したいのですが,毎回パッチ当てるのが面倒です(苦笑 ---- -1.4.4以降であれば pukiwiki.ini.php 内の定数で示されています。 -- &new{2005-02-28 (月) 01:47:53}; -DATA_HOMEですね :) -- &new{2005-02-28 (月) 02:42:55}; --DATA_HOMEはwikiディレクトリなどデータのディレクトリを指しますよね. -- [[ELF]] &new{2005-02-28 (月) 08:46:27}; CENTER:index.phpの抜粋 define('DATA_HOME', dirname(__FILE__).'/data/'); とした場合,<index.phpがあるディレクトリ>/data/plugin」にプラグインを置かないといけないわけですね. で, CENTER:pukiwiki.ini.phpのデフォルト define('PLUGIN_DIR', HOME_DATA . 'plugin/' ); // Plugin directory を CENTER:pukiwiki.ini.phpの希望のイメージ define('PLUGIN_DIR', PKWK_DIR . 'plugin/' ); // Plugin directory にして複数のPukiWikiプラグインを共用したいわけです. シンボリックリンクでもコピーでもできなかないですが,スマートでないし,PKWK_DIRがPukiWikiのコアがあるディレクトリで定義されていればいいわけです((かつこういう定数は何かと使い道がある)). --「いいわけです」とか断言してえらそうな口調になっちゃってますね.すみません(苦笑 -- [[ELF]] &new{2005-02-28 (月) 09:15:35}; --確かに lib と plugin, skin, image はそれぞれのwikiで共通化出来ますね。 -- &new{2005-02-28 (月) 09:23:15}; --PLUGIN_DIRの定義を index.php に移すだけだったりして・・・ -- &new{2005-02-28 (月) 11:02:31}; -PukiWiki/WikiFarm に関連するのかな? -- [[okkez]] &new{2005-02-28 (月) 15:41:13}; --ある意味WikiFarmてきなことです((結構前にIRCで話してても記録に残らないのでやっと書きに来たと)). -- [[ELF]] &new{2005-02-28 (月) 22:31:58}; ---ちなみに自称Puki Wiki Farmとか呼んでるなんちゃってはこっちにあります.http://elf.no-ip.org/test/pukiwiki/index.php/elf/ 1.4.4ベースで結構いじっちゃってますが,最後の/elf/を好きに変えれば最大20個まで即座に作成されます.トータル制御のロジックは全然組んでませんが -- [[ELF]] &new{2005-02-28 (月) 22:33:24}; ---20個既に埋まってたので50個までいくようにしました -- [[ELF]] &new{2005-03-04 (金) 16:31:46}; -これって私が前に言った気がするんですが…思ってただけで言ってなかったようです(汗 私のWikiでは、pukiwiki.ini.phpに以下の設定をしてしのいでます。 -- [[Ratbeta]] &new{2005-02-28 (月) 17:50:47}; define('PLUGIN_DIR', DATA_HOME . '../plugin/'); // Plugin directory -imageとlibはpukiwiki(index).phpを同じディレクトリに配置しておけば共用が可能です。言語ファイルの共通化は[[BugTrack/754]]に修正方法を載せてます。 -- [[Ratbeta]] &new{2005-02-28 (月) 17:56:53}; --すみませんが番号違いのような気がします -- [[ELF]] &new{2005-03-06 (日) 23:21:20}; --ありゃ…すみません。本当は[[BugTrack/579]]です。 -- [[Ratbeta]] &new{2005-03-07 (月) 17:45:06}; ---このBugTrackについては既に対処がされているようですが,例えばlngファイル程度ならPKWK_DIRがあれば<?php require PKWK_DIR.basename( __FILE__);' ?>という内容のlngファイルをコピーしまわれば共通化が可能です(うちのPuki Wiki Farm((造語なのでリンクにならないように(苦笑 ))はそうやってる)プラグインはなかなかそういうわけには行かないので. -- [[ELF]] &new{2005-03-08 (火) 01:59:21}; -例えば CENTER:index.php <?php define('DATA_HOME', 'data/'); define('PKWK_DIR', '/usr/share/pukiwiki/'); define('LIB_DIR', PKWK_DIR.'lib/'); require(LIB_DIR . 'pukiwiki.php'); ?> CENTER:pukiwiki.ini.php <?php (snip) define('DATA_DIR', DATA_HOME . 'wiki/' ); // Latest wiki texts define('DIFF_DIR', DATA_HOME . 'diff/' ); // Latest diffs define('BACKUP_DIR', DATA_HOME . 'backup/' ); // Backups define('CACHE_DIR', DATA_HOME . 'cache/' ); // Some sort of caches define('UPLOAD_DIR', DATA_HOME . 'attach/' ); // Attached files and logs define('COUNTER_DIR', DATA_HOME . 'counter/' ); // Counter plugin's counts define('TRACKBACK_DIR', DATA_HOME . 'trackback/'); // TrackBack logs define('PLUGIN_DIR', PKWK_DIR . 'plugin/' ); // Plugin directory (snip) これでindex.phpを好きな場所に置けます.また,PKWK_DIRはindex.php毎に異なる必要がない((理由をつければ「異なる必要がある」というケースを作れますが))ので,pukiwiki.phpかコアのいずれかで定義されてたらいいと. -こんにちは :) 話に乗り遅れました。DATA_HOMEは今のところ「一本分のPukiWikiの維持に必要で、''他とは独立して持たせられるようにしたくなるもの''全部」を抱えています。pluginも、現状はその一つです。どうして(1.4.4リリース時に)そうしたのかなど、いくつかの話題は [[official:WebTrack/28#c693eb6e]] をご覧下さい。短く言えば、PukiWiki一本ごとにpluginを''安全に''取捨選択できるような仕組みが実現していたなら、デフォルトをこうはしなかったでしょう。((管理者にとってはPukiWikiごとに「不要なプラグインを削除し、使うプラグインだけ入れておく」というのが最も安心できる状態だと思います。また、PukiWiki一本ごとの用途が同じでなければならない必要はありません)) -- [[henoheno]] &new{2005-03-08 (火) 23:19:26}; -- 同じ事を言われている方がいらっしゃいますが、LIB_DIR と同じように、特定の PLUGIN_DIR を''任意の''(例えば5本立てるうちの3本の)PukiWikiで共有させたいというのであれば、LIB_DIR と同じように、共有を希望する任意の index.php の中で PLUGIN_DIR を定義してやるのが最も簡便で取り回しが効くと思います。(※元々defineしているところはコメントアウトするなりする) -- [[henoheno]] &new{2005-03-08 (火) 23:19:37}; -ちなみにPKWK_DIR(仮称)を定義することに対しての問題点はあるのでしょうか? 仮にPKWK_DIRが存在するならhenohenoさん仰るようなことが「index.phpでPLUGIN_DIRを定義する」「pukiwiki.ini.phpを編集する」の2アクションは後者の1アクションだけで行えるようになります. -- [[ELF]] &new{2005-03-16 (水) 00:19:43}; -またPukiWikiのコアを表す定数を2箇所指定しないといけないということは設置者のミスの誘発は2倍に(少なくとも等倍より大きく)なると思います((そもそもでいうと「index.phpでLIB_DIRを定義」じゃなくて「PKWK_DIRをindex.phpで定義し,require PKWK_DIR.'lib/pukiwiki.php';になってたら丸く収まっていた予感)). -- [[ELF]] &new{2005-03-16 (水) 00:22:19}; //#comment