LifeType 中文開發論壇

測試 => LifeType 1.0 測試 => 主題作者是: Aiwa 於 二月 06, 2005, 04:22:35 下午



主題: SVN version 957 的問題
作者: Aiwa二月 06, 2005, 04:22:35 下午
我的站台在 patch 到 957 後,就沒辦法編輯文章了,編輯文章後,內文會一片空白。但在 956 沒有這個問題。

另外,在編輯文章的頁面會有兩個 script error:
1:
Line:9
Char:1
Code:0
Error:'HTMLArea' 未被定義
網址:http://just-blog.net/admin.php?op=editPost&postId=62
2:
Line:2655
Char:2
Code:0
Error:語法錯誤
網址:http://just-blog.net/admin.php?op=editPost&postId=62

不知大家的會不會?


主題: SVN version 957 的問題
作者: Aiwa二月 06, 2005, 04:48:41 下午
我發現問題所在了,原來是所見即所得的功能造成的。

我發現如果我把所見即所得的功能打開,那麼編輯框上面的屬性欄就會不見,
網頁也就會有兩個 script error 。

但是在 http://plogdev.markplace.net/ 似乎又很正常,不知是哪裡的問題... :'(


主題: SVN version 957 的問題
作者: markwu二月 07, 2005, 05:50:04 下午
應該修復了!請 Check out 新的 code 下來試試。

Mark


主題: SVN version 957 的問題
作者: Aiwa二月 09, 2005, 06:01:49 下午
Dear Mark,

似乎哪裡怪怪的,在 build 989 之後,summary.php 就會出現一個 undefined 的 _db ,所以有問題,這個問題在 build 1009 之後修正了。
可是我在 1009 之後的版本,一直到現在最新的 1020 ,都會有沒辦法登入後台管理系統的問題。

因為沒辦法登入,所以我也不確定這個問題是否修正了。
謝謝您的幫忙.

PS. 我都是全部刪掉,重新 check out 一份下來做測試的。而且會把瀏覽器的  cookie 跟暫存檔一併刪掉。


Aiwa


主題: SVN version 957 的問題
作者: markwu二月 10, 2005, 02:07:49 上午
http://bugs.lifetype.net/view.php?id=227 跟這個問題好像一樣。 Oscar 說他修復了!

沒辦法登入?傷腦筋。前台看的到嗎?我之前發生問題是 config 的權限設定不對
所以讀不到。不過你好像不是這樣。

Apache 的 error.log 有任何訊息嗎?

Mark


主題: SVN version 957 的問題
作者: Aiwa二月 10, 2005, 10:33:16 上午
引用自: markwu
http://bugs.lifetype.net/view.php?id=227 跟這個問題好像一樣。 Oscar 說他修復了!

沒辦法登入?傷腦筋。前台看的到嗎?我之前發生問題是 config 的權限設定不對
所以讀不到。不過你好像不是這樣。

Apache 的 error.log 有任何訊息嗎?

Mark


嗯,這個問題修復了沒錯。

至於無法登入的問題,在輸入帳號密碼後,會進到一個選擇網誌的畫面,畫面上還會秀出recent_articles跟recent_comments。

在那個 page 按下網誌的 link 後,就會跳回登入的畫面,畫面上還有一行紅字“您目前沒有權限進入管理介面。請到這裡登入。”

我用的不是 Apache ,我用 RaidenHTTPD 架的站,不過 log 檔裡沒有任何錯誤訊息。


主題: SVN version 957 的問題
作者: lss二月 11, 2005, 11:32:34 下午
引用自: Aiwa

我用的不是 Apache ,我用 RaidenHTTPD 架的站,不過 log 檔裡沒有任何錯誤訊息。

Aiwa兄:
你參考一下這個 (http://phpbb.elixus.org/viewtopic.php?t=1271&start=0&postdays=0&postorder=asc&highlight=%B9p%B9qhttpd)看看有沒有幫助。


主題: SVN version 957 的問題
作者: Anonymous二月 12, 2005, 10:28:04 上午
引用自: lss
引用自: Aiwa

我用的不是 Apache ,我用 RaidenHTTPD 架的站,不過 log 檔裡沒有任何錯誤訊息。

Aiwa兄:
你參考一下這個 (http://phpbb.elixus.org/viewtopic.php?t=1271&start=0&postdays=0&postorder=asc&highlight=%B9p%B9qhttpd)看看有沒有幫助。


謝謝您提供的資訊,不過還是沒解決問題。沒解決 script error 的問題。
不過登入的問題我找到問題點了。

在這邊....

在 989 版之前的,scriptUrl 這個變數都會取用 $serverVars["SCRIPT_URL"];
,不知為何,從 990 開始,改成了 $serverVars["PHP_SELF"];

我這邊會發生無法 login 就是因為這個的關係。

        function getBaseUrl()
        {
            $serverVars = HttpVars::getServer();
            if ( !isset($serverVars['HTTPS']) || strtolower($serverVars['HTTPS']) != 'on' ) {
                $protocol = 'http://';
            } else {
                $protocol = 'https://';
            }
            $host      = $serverVars["HTTP_HOST"];
//            $scriptUrl = $serverVars["PHP_SELF"];
            $scriptUrl = $serverVars["SCRIPT_URL"];

            return $protocol . $host . $scriptUrl;
        }
    }


主題: SVN version 957 的問題
作者: Aiwa二月 12, 2005, 11:12:12 上午
哈,上一篇忘了登入....

我用 $scriptUrl = $serverVars["SCRIPT_URL"]; 時,plog.log 裡的 debug message

12-02-2005 12:02:19 DEBUG - [sessionmanager.class.php:66 (logger:debug)] cookie path = /
12-02-2005 12:02:19 DEBUG - [sessionmanager.class.php:88 (logger:debug)] cookie domain = just-blog.net


我用 $scriptUrl = $serverVars["PHP_SELF"]; 時,plog.log 裡的 debug message

12-02-2005 12:04:37 DEBUG - [sessionmanager.class.php:66 (logger:debug)] cookie path = \
12-02-2005 12:04:37 DEBUG - [sessionmanager.class.php:88 (logger:debug)] cookie domain = just-blog.net

PHP_SELF 的值 “\admin.php”

看來是 RaidenHTTPD 送出來的值是以 \ 為 base 的關係。
不知會不會有其他的 web server 也是這樣的?


主題: SVN version 957 的問題
作者: markwu二月 12, 2005, 08:47:19 下午
這個部分是 ork commit 的程式。我寫信問他了,也一起 CC 你。

Mark


主題: SVN version 957 的問題
作者: Aiwa二月 13, 2005, 12:22:42 上午
引用自: Aiwa
PHP_SELF 的值 “\admin.php”

看來是 RaidenHTTPD 送出來的值是以 \ 為 base 的關係。
不知會不會有其他的 web server 也是這樣的?


我發現我錯了,PHP_SELF 的值是“/admin.php”才對.....
所以好像又跟 HTTPD 送出來的值沒關係,它是對的。


主題: SVN version 957 的問題
作者: markwu二月 13, 2005, 01:16:30 上午
Aiwa:

你要不要把你的狀況直接回到 bugs.lifetype.net,這樣子比較好 tracking 跟 debug.

Mark


主題: SVN version 957 的問題
作者: Aiwa二月 13, 2005, 11:45:42 上午
引用自: markwu
Aiwa:

你要不要把你的狀況直接回到 bugs.lifetype.net,這樣子比較好 tracking 跟 debug.

Mark


唔~~也好,這樣似乎比較直接一些......

我只擔心我的英文他們看不懂..... :-$


主題: SVN version 957 的問題
作者: Aiwa二月 13, 2005, 12:20:19 下午
我找到最後問題的發生點了.....

程式碼:
function setSessionCookiePath()
{
// get the right url for the script... somehow $_SERVER["REQUEST_URI"]
// is returning things like "http://83.102.183.10.in-addr.arpa/plog/test.php"
// in my case which are correct but probably not what we're expecting!
$scriptUrl = HttpVars::getBaseUrl();
$url = new Url( $scriptUrl );
$path = dirname($url->getPath());
if( $path == "" )
$path = "/";

$log =& LoggerManager::getLogger();
$log->debug("cookie path = $path");

ini_set( "session.cookie_path", $path );
}


在這個 function 中, $scriptUrl 的值會經由 getBaseUrl 取得,而 getBaseUrl 就會依據我先前的 post 中所說的,利用 $serverVars["PHP_SELF"]; 來取得值。

如果我用 PHP_SELF 來取值,最後 getBaseUrl 傳回來的字串是:
程式碼:
http://just-blog.net/admin.php


在  Url->getPath(); 後,會得到 "/admin.php"
然後再經過 dirname() 處理過,就變成了 "\"

Why, I don't know. 我正在看這邊 (http://www.php.net/dirname),看能不能得到到一些說明....


至於我用 $serverVars["SCRIPT_URL"] 時為何沒問題.....
因為我的 php 變數裡根本就沒有 SCRIPT_URL 這一個變數.....
所以在
程式碼:
	if( $path == "" ) 
$path = "/";

就被設定成正確的值了.....


主題: SVN version 957 的問題
作者: markwu二月 14, 2005, 02:30:00 下午
Hi Aiwa:

你把 bug 報上去了嗎?如果你覺得有困難,可以把完整的問題寫在這?我來幫你 post ! :-D

Mark


主題: SVN version 957 的問題
作者: Aiwa二月 15, 2005, 12:18:49 上午
感謝 Mark 兄,

我還沒 post ,完整的問題其實就是上一篇文章所說的。用最最簡單的話來講,就是 在 windows 系統下, dirname() 這個 function 在傳入 "/admin.php" 這樣的路徑的時候,會傳回 "\" ,這樣會造成 session 發生問題,而無法登入後台管理。