requireのパスチェックを修正してほしい(pukiwiki.phpと他のファイルの分離)

メッセージ

ディレクトリ構成を変えたとき、requireのチェックがカレントディレクトリだけなのは制限がきつい。

しげ:メモ/PukiWikiコンフィギュレーションに書いてるんですが、標準の構成じゃないとき、requireのチェックがカレントディレクトリだけでなくrequireしているファイルのカレントディレクトリもチェックしてほしいです。

というか、requireの前でチェックするより、requireの解釈にまかせてエラーハンドラで処理した方がスマートかもしれません。


pukiwiki.php の最初に

define('PUKIWIKI_DIR', './');

というのを追加し、require で他のソースを読み込んだり、スキンや画像ファイル等を読んだりしている所に、片っ端から PUKIWIKI_DIR を付けました。例えば、pukiwiki.php のみをサーバーのトップディレクトリ / に置き、他のファイルは /pukiwiki/ の下に置きたい場合、

define('PUKIWIKI_DIR', './pukiwiki/');

とすれば大丈夫なはずです。

スキンやプラグインなど、変更点は多岐にわたります。まだ、忘れているところがあるかもしれません。適用は慎重に。自作のプラグイン等があり、ファイルを参照している場合は、その変更も忘れずに。


  // Webサーバーの外部には必要最小限のファイルのみ露出する
  htdocs/index.html      <= 案内でも何でも
  htdocs/foo.php         <= PukiWikiの入り口
  htdocs/bar.php         <= 別のPukiWikiへの入り口
  htdocs/images/                   <= 共有データ
  htdocs/skin/ (*.css, *.js)       <= 共有データ
  htdocs/hoge/index.php  <= さらに別のPukiWikiへの入り口
  htdocs/hoge/images/              <= 専用のデータ
  htdocs/hoge/skin/ (*.css, *.js)  <= 専用のデータ
  
  // SUB_DIR: 複数のWikiで同じライブラリを共有(してもよい)
  pukiwiki/*.php (func, make_link, ...)
  pukiwiki/skin/*.skin.*.php
  
  // SUB_DIR: PukiWikiのグループごとに別のライブラリを共有(してもよい)
  pukiwiki_test/*.php (func, make_link, ...)
  pukiwiki_test/skin/*.skin.*.php
   
  // DATA_HOME for foo.php
  data/foo/*.ini.php
  data/foo/*.lng
  data/foo/wiki/
  data/foo/diff/
  data/foo/backup/
  data/foo/cache/
  data/foo/trackback/
  data/foo/plugin/
  
  // DATA_HOME for bar.php
  data/bar/(略)
  
  // DATA_HOME for hoge.php
  data/hoge/(略)

添付ファイル: fileBugTrack-147a.diff 1139件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-07-05 (月) 20:35:45
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u10. HTML convert time: 1.082 sec.

OSDN