Bug(バグ) #2780
Yuya Watanabe さんがほぼ13年前に更新
h3. 概要
#1565 「管理画面のSNS設定にアクセスできない(特定のモジュールのページにアクセスできない)」の修正が巻き戻ってしまっている.
具体的には以下のコミットがなくなってしまっている.
commit:f30b06229f8dbffc3a3a663f881df3776378c67d
commit:3704508a35a9fe39361cebae8e3d361d2949399d
commit:10a1e4f16ae0532478db6495b2e87f9dcfee316f
巻き戻った原因のチケット及びコミットは以下のものである.
チケット: #2316 「update symfony to 1.4.13 (同梱のsymfonyのバージョンを1.4.13へ上げる) 」
commit:64a72113b7cc6eaf39a21ac66efcfc8289354e0c
h3. 修正案
OpenPNE 内での lib/vendor 以下にあるライブラリのアップデート方法や独自パッチの管理方法を検討する必要がある.
とりあえず以下のパッチを利用することで本チケットの問題は解決できる.
<pre>
$ patch -p0 -d . < t2780.patch
</pre>
t2780.patch
<pre>
diff -crN lib/request/sfWebRequest.class.php lib/vendor/symfony/lib/request/sfWebRequest.class.php
*** lib/vendor/symfony/lib/request/sfWebRequest.class.php
--- lib/vendor/symfony/lib/request/sfWebRequest.class.php
***************
*** 239,246 ****
public function getPathInfo()
{
$pathInfo = '';
-
$pathArray = $this->getPathInfoArray();
// simulate PATH_INFO if needed
$sf_path_info_key = $this->options['path_info_key'];
--- 239,246 ----
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,274 ****
else
{
$pathInfo = $pathArray[$sf_path_info_key];
! if ($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'))
{
$pathInfo = substr($pathInfo, $pos + 4);
}
--- 261,274 ----
else
{
$pathInfo = $pathArray[$sf_path_info_key];
! if ($isIis && $relativeUrlRoot = $this->getRelativeUrlRoot())
{
$pathInfo = preg_replace('/^'.str_replace('/', '\\/', $relativeUrlRoot).'\//', '', $pathInfo);
}
}
// for IIS
! if ($isIis && $pos = stripos($pathInfo, '.php'))
{
$pathInfo = substr($pathInfo, $pos + 4);
}
</pre>