#author("2017-09-09T02:58:39+09:00;2017-09-09T02:55:44+09:00","","")
#author("2017-09-09T02:59:15+09:00;2017-09-09T02:55:44+09:00","","")
*$scriptを手動設定していると、echo $script;では$script_directory_indexが反映されない [#k3738657]
- 元タイトル: $script_directory_indexが効いてない気がする

-ページ: [[BugTrack]]
-投稿者: [[ELF]]
-優先順位: 低
-状態: 却下
-カテゴリー: その他
-投稿日: 2005-03-13 (日) 19:55:14
-バージョン: 1.4.5_1

**メッセージ [#g601f8a4]
pukiwiki.ini.phpで
 $script = 'http://www.example.com/index.php';
 $script_directory_index = 'index.php';
として,skinファイルの中で
 echo $script;
とすると「http://www.example.com/index.php」が表示されます.

PukiWiki 1.4.5_1と2005-03-13 (日) 19:55:14時点のCVS版で確認.
----
-とりあえず今現在も(以前からも)効いている気がしますので状況がつかめません。その現場で $script_directory_index でソース grep する手間を惜しまれていなかったのであれば、もう少し話が進んだかもしれませんね。ステータスを「本体バグ」から「その他」に修正します。 -- [[henoheno]] &new{2005-06-10 (金) 22:52:18};
- これが原因の可能性も・・・。[[BugTrack2/260]] : get_script_uri() を使っていないファイルが残っている --  &new{2007-11-10 (土) 14:59:39};

- [[$script_directory_indexを追加>開発日記/2004-11-23#nd76476c]]してからこのバグが存在していそうです。annotateを見ると$script_directory_indexを追加する前の[[cvs:lib/init.php]](r1.18)から変わらず
 /////////////////////////////////////////////////
 // INI_FILE: Init $script
 
 if (isset($script)) {
 	get_script_uri($script); // Init manually
 } else {
 	$script = get_script_uri(); // Init automatically
 }
という使い方をしていますが、get_script_uri関数内部で$scriptをglobal呼び出すような構造ではないで、「// Init manually」に分岐した場合は短縮後の$scriptが上書きされずにそのままになってしまうようです。このため、get_script_uri関数を使わずにecho $script;している箇所では、短縮後の状態が反映されないようです。&br;「// Init automatically」の時と同じように「// Init manually」した分岐した時もget_script_uri関数の返り値を$scriptに代入すればよさそうです。 --  &new{2010-09-19 (日) 18:41:33};
-- 上記修正と、skinの内部でも、get_script_uri()を使うのどちらが正しいのでしょうね。 -- [[mashiki]] &new{2010-09-19 (日) 19:33:24};
--- keitai.ini.phpはデフォルトでglobal $scriptを改変(短縮)しているので、それをやめない限りは上の修正が必要になるでしょうね。(あと、後方互換のためのバグつぶし)&br;[[BugTrack2/213]]の件が完了すればそちらを使うようになるかもしれませんが・・・ --  &new{2010-10-05 (火) 20:44:13};
- これは仕様です。$script自体は設定値のまま変更されません。$script_directory_index が反映された値をget_script_uri()で取得することができます。[[BugTrack/2213]]で相対パス/URI関連の対応が入りましたが、これも同じです。$scriptは変更されず、get_base_uri()では$script_directory_indexが反映された値を返します。そして、 keitai.ini.php での $script 短縮は 1.5.2 で廃止になります。([[BugTrack/615]]) 状態:却下 にしておきます -- [[umorigu]] &new{2017-09-09 (土) 02:55:44};
- これは仕様です。$script自体は設定値のまま変更されません。$script_directory_index が反映された値をget_script_uri()で取得することができます。[[BugTrack/2213]]で相対パス/URI関連の対応が入りましたが、これも同じです。$scriptは変更されず、get_base_uri()で$script_directory_indexが反映された値を返します。そして、 keitai.ini.php での $script 短縮は 1.5.2 で廃止になります。([[BugTrack/615]]) 状態:却下 にしておきます -- [[umorigu]] &new{2017-09-09 (土) 02:55:44};

#comment

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.063 sec.

SourceForge