* php.iniでopen_basedirにPukiWikiを設置したディレクトリを指定すると、dumpプラグインやPageReadingがテンポラリファイルの生成に失敗する [#p96a60a6] * php.iniでopen_basedirにPukiWikiを設置したディレクトリを指定すると、dumpプラグインやpagereadingがテンポラリファイルの生成に失敗する [#p96a60a6] - 元タイトル: php.iniでopen_basedirにPukiWikiを設置したディレクトリを指定すると、dumpプラグインがテンポラリの生成に失敗する - ページ: [[BugTrack2]] - 投稿者: [[でぃあばぁ]] - 優先順位: 低 - 状態: 完了 - カテゴリー: プラグイン - 投稿日: 2005-11-21 (月) 11:34:19 - バージョン: 1.4.6 ** メッセージ [#nd56737b] 次のようなプロセスで起こるようです。 +デフォルトではDATA_HOMEが空であるため、[[PHP関数:tempnam]]の第一引数が相対指定になる +tempnamが「指定したディレクトリが存在しない」と判断する +システムのテンポラリディレクトリにファイルを作成しようとする +open_basedirの制限に引っかかる index.phpとpukiwiki.phpでDATA_HOMEを指定すればOKなので、dumpプラグインのマニュアルに明記すれば解決?~ 「PHPの設定でopen_basedirにPukiWikiを設置したディレクトリを指定している場合は、index.php, pukiwiki.phpでDATA_HOMEに同ディレクトリを指定して下さい。」 -------- - define('DATA_HOME', realpath('.') . '/'); っていうのは無しですかね? -- [[でぃあばぁ]] &new{2005-11-21 (月) 19:55:32}; -- 関数を余計に実行する事を積み重ねると大変なロスになりますから、固定的な何かの方がよろしいかとは思います。 -- [[henoheno]] &new{2005-12-08 (木) 00:24:46}; - お疲れ様です。tempnam() は、dumpプラグインのほかに、file.php (pagereading) で使っているようですね。 -- [[henoheno]] &new{2005-11-24 (木) 00:04:39}; - [[teanan]]さん、よろしければこちらの件の面倒を見ていただけますか? ついでにdumpを整理する事につなげてしまったりしても問題ありません :) -- [[henoheno]] &new{2005-12-08 (木) 00:21:43}; -- 了解しました。 -- [[teanan]] &new{2005-12-08 (木) 02:18:28}; -結局、こんな感じの修正になりそうです。-- [[teanan]] &new{2005-12-21 (水) 12:19:17}; $hoge = tempnam(realpath(CACHE_DIR), 'hogehoge_'); -- お疲れ様です。その方がいいですね (^^; 状態を「着手」にしました。 -- [[でぃあばぁ]] &new{2006-01-11 (水) 19:26:15}; - tempnamを使っている部分について、realpathを通したパスを指定するように修正しました。 -- [[teanan]] &new{2006-01-12 (木) 10:05:57}; -- [[cvs:lib/file.php]] (1.46) -- [[cvs:plugin/dump.inc.php]] (1.37) #comment