操作
Bug(バグ) #2780
完了#2316 「update symfony to 1.4.13 (同梱のsymfonyのバージョンを1.4.13へ上げる)」により一部修正が巻き戻ってしまっている.
開始日:
2012-02-07
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Unknown (未調査)
説明
概要¶
以下のチケット及びコミットが巻き戻ってしまっている.
#1565 「管理画面のSNS設定にアクセスできない(特定のモジュールのページにアクセスできない)」
f30b06229f8dbffc3a3a663f881df3776378c67d
10a1e4f16ae0532478db6495b2e87f9dcfee316f
巻き戻った原因のチケット及びコミットは以下のものである.
チケット: #2316 「update symfony to 1.4.13 (同梱のsymfonyのバージョンを1.4.13へ上げる) 」
64a72113b7cc6eaf39a21ac66efcfc8289354e0c
修正案¶
OpenPNE 内での lib/vendor 以下にあるライブラリのアップデート方法や独自パッチの管理方法を検討する必要がある.
とりあえず以下のパッチを利用することで本チケットの問題は解決できる.
$ git diff 901694eda4a4aaebc0c32353c4cdc0e763ca0813...10a1e4f16ae0532478db6495b2e87f9dcfee316f lib/vendor/symfony/ > t2780.patch $ vim t2780.patch $ patch -p1 < t2780.patch
t2780.patch
diff --git a/lib/vendor/symfony/lib/request/sfWebRequest.class.php b/lib/vendor/symfony/lib/request/sfWebRequest.class.php index c2205f6..0c817fd 100644 --- a/lib/vendor/symfony/lib/request/sfWebRequest.class.php +++ b/lib/vendor/symfony/lib/request/sfWebRequest.class.php @@ -239,8 +239,8 @@ class sfWebRequest extends sfRequest public function getPathInfo() { $pathInfo = ''; - $pathArray = $this->getPathInfoArray(); + $isIis = (isset($pathArray['SERVER_SOFTWARE']) && false !== stripos($pathArray['SERVER_SOFTWARE'], 'iis')); // simulate PATH_INFO if needed $sf_path_info_key = $this->options['path_info_key']; @@ -261,14 +261,14 @@ class sfWebRequest extends sfRequest else { $pathInfo = $pathArray[$sf_path_info_key]; - if ($relativeUrlRoot = $this->getRelativeUrlRoot()) + if ($isIis && $relativeUrlRoot = $this->getRelativeUrlRoot()) { $pathInfo = preg_replace('/^'.str_replace('/', '\\/', $relativeUrlRoot).'\//', '', $pathInfo); } } // for IIS - if (isset($_SERVER['SERVER_SOFTWARE']) && false !== stripos($_SERVER['SERVER_SOFTWARE'], 'iis') && $pos = stripos($pathInfo, '.php')) + if ($isIis && $pos = stripos($pathInfo, '.php')) { $pathInfo = substr($pathInfo, $pos + 4); }
操作