歡迎光臨, 訪客. 請先 登入註冊一個帳號.
三月 28, 2024, 10:48:34 下午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  1.0升級至1.0.1的問題 « 上篇主題 下篇主題 »
頁: 1 [2]
作者 主題: 1.0升級至1.0.1的問題  (閱讀 37118 次)
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #15 於: 六月 05, 2005, 09:39:42 上午 »

引用自: Eji
引用自: markwu
你有改過 /templates/summary/index.template 嗎?他的意思是說你的 template 中有一個 {/if} 可是前面卻沒有相對應的 {if xxx}

所以他說 unexpected T_ENDIF  ..... 查查你的 index.template 吧!要不然就 post 上來看看。
 微笑
Mark


唔,舊的我有改,但是傳上去之後,跑新的時候才出現這個error。(新的我沒改)
我覺得這可能和我沒清tmp有關,但是我清了之後還是維持這個狀況....
目前我還在1.0,把問題整理一遍我再上傳....

[EDIT]
我現在一個一個手動覆蓋....
結果在把/templates/summary/傳進去之後,有這樣的錯誤訊息:
其他單獨的帳號運作正常。

引用
Fatal error: Undefined class name 'sessionmanager' in /--------/blog/class/summary/action/summaryaction.class.php on line 48


可是我沒去改這個....orz
diff過一看,1.0和1.0.1的兩個summaryaction.class.php之間真的差很多....

/class/summary/
/templates/summary/
summary.php
維持1.0版之外,其他正常升級到1.0.1;找到問題之後再改過去....


我大概知道原因了。在 1.01 的 summary新增一個功能,就是 summary 會依照你的 browser 語系來顯示不同語言。

所以他會去判斷 session 中的 summaryLang 這個 value ... 看起來是這個 value 不存在,或是 session 結構有問題。因為程式本身並沒問題。 傷心

可是 pLog 的 session time out 是依照 browser 的 life time所以當關掉 browser 時,應該就會重新產生 session才對。

能請你把 session 都請掉試試看嗎? 如果還是不能,能把 $_SESSION 印出來看看嗎?

Mark
已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #16 於: 六月 07, 2005, 02:11:07 下午 »

引用自: trevoryu
我的網站在 http://blog.trevoryu.net

剛用1.0.1覆蓋,刪除wizard.php,修改config.properties.php後,未清tmp

清tmp,reload頁面後

進admin,編輯舊文章,中文仍為問號

用原備份檔案覆蓋,又恢復正常


Hi trevoryu:

不好意思。我還是沒試出跟你一樣的情況,真不知該怎麼解決 傷心

Mark
已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #17 於: 六月 07, 2005, 02:14:57 下午 »

有一個可能的原因,請參考一下

http://forum.lifetype.org.tw/index.php?topic=288.0&highlight=set+names

應該是 mysql 中 set names 的問題。

Mark
已記錄

Eji
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #18 於: 六月 08, 2005, 04:26:29 下午 »

引用自: markwu
我大概知道原因了。在 1.01 的 summary新增一個功能,就是 summary 會依照你的 browser 語系來顯示不同語言。

所以他會去判斷 session 中的 summaryLang 這個 value ... 看起來是這個 value 不存在,或是 session 結構有問題。因為程式本身並沒問題。 傷心

可是 pLog 的 session time out 是依照 browser 的 life time所以當關掉 browser 時,應該就會重新產生 session才對。

能請你把 session 都請掉試試看嗎? 如果還是不能,能把 $_SESSION 印出來看看嗎?

Mark


看到您的回應之後,我也猛然想到.... index.template裡面的歡迎字串我用中文打.....
結果果然是存成big5(死)

這次上傳上去就沒問題了。感謝!

----
我還真是粗心大意.....
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #19 於: 六月 10, 2005, 10:40:51 上午 »

引用自: markwu
有一個可能的原因,請參考一下

http://forum.lifetype.org.tw/index.php?topic=288.0&highlight=set+names

應該是 mysql 中 set names 的問題。

Mark


Hi Hi trevoryu:

解了嗎?你有去看這一篇了嗎?

Mark
已記錄

trevoryu
新手見習
*
文章: 10


檢視個人資料 個人網站
« 回覆文章 #20 於: 六月 13, 2005, 08:22:43 下午 »

我看過了,但我不解的是,最開始時我就已將MySQL charset設成UTF-8 Unicode (utf8), MySQL connection collation設成utf8_general_ci,plog 1.0安裝完後,用phpMyAdmin 2.6.1-pl3進入讀取,中文都能正確顯示,這代表database中的資料應該是以UTF-8存在的。

我的plog 1.0和1.01都選擇成UTF-8編碼,覆蓋1.0成1.01版,從mysql讀出來的中文還是變成問號。

另外,我曾用MS Word修改plog 1.0的部分檔案 (mylinks.class.php,config.properties.php,locale_zh_TW.php,footer.template,main.template,post.template,.htaccess,error.php),因為當時我沒有支援UTF-8的text editor,後來我才知道MS Word會將檔案存成UTF-8(BOM),也許會造成問題?

但我猜想造成上述問題的關鍵還是跟mysql比較有關係...
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #21 於: 六月 13, 2005, 11:21:45 下午 »

我在查了一下之前 pest 針對 utf-8 patch 過的程式,我發現『他』不見了。我在猜是因為 Oscar 還是 Ben 把 Adodb upgrade 後,忘了 patch 上去。傷腦筋。

你能試過在你的 connect 加上 set names utf-8 看看是否正常。 參考: http://forum.lifetype.org.tw/index.php?topic=47.0&highlight=set+names

 咬牙切齒  我要來查一下 code ... 真是粗心的錯誤!

Mark
已記錄

trevoryu
新手見習
*
文章: 10


檢視個人資料 個人網站
« 回覆文章 #22 於: 六月 14, 2005, 09:11:28 下午 »

修改\class\database\adodb\drivers\adodb-mysql.inc.php後果然就正常了。
我把1.0版中存在但1.0.1版消失的三段hacks全帶進來。

程式碼:

else if (ADODB_PHPVER >= 0x4200)
$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
$this->forceNewConnect);
else
$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

/** hack to adodb **/
if ($this->_isSupportUtf8() && $argDatabasename) {
$dbEncoding = $this->_getDbDefaultEncoding($argDatabasename);
if ($dbEncoding) {
mysql_query("SET NAMES $dbEncoding", $this->_connectionID);
}
}
/** end of hack **/

if ($this->_connectionID === false) return false;
if ($argDatabasename) return $this->SelectDB($argDatabasename);
return true;


程式碼:

if ($this->_connectionID === false) return false;
if ($this->autoRollback) $this->RollbackTrans();

/** hack to adodb **/
if ($this->_isSupportUtf8() && $argDatabasename) {
$dbEncoding = $this->_getDbDefaultEncoding($argDatabasename);
if ($dbEncoding) {
mysql_query("SET NAMES $dbEncoding", $this->_connectionID);
}
}
/** end of hack **/

if ($argDatabasename) return $this->SelectDB($argDatabasename);
return true;


程式碼:

$this->forceNewConnect = true;
return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename);
}
/** start of adodb hack **/
function _isSupportUtf8() {

// check mysql version first. Version lower than 4.1 doesn't support utf8
$serverVersion = mysql_get_server_info($this->_connectionID);
$version = explode('.', $serverVersion);
if ($version[0] < 4) return false;
if ( ($version[0] == 4) && ($version[1] == 0) ) return false;

// check if utf8 support was compiled in
$result = mysql_query("SHOW CHARACTER SET like 'utf8'", $this->_connectionID);
if (mysql_num_rows($result) > 0) {
return true;
}
return false;
}

function _getDbDefaultEncoding($argDatabasename)
{

if (!$argDatabasename) {
return false;
}

// We use a SHOW CREATE DATABASE command to show the original
// SQL character set when DB was created.
$result = mysql_query("SHOW CREATE DATABASE $argDatabasename", $this->_connectionID);
if (mysql_num_rows($result) < 0 ) {
// The specified db name is wrong!
return false;
}
$dbInfo = mysql_fetch_row($result);
$pattern = '/40100 DEFAULT CHARACTER SET (\w+) /';
if ( (preg_match($pattern, $dbInfo[1], $match) > 0) ) {
return $match[1];
}
return false;
    }
    /** end of hack **/

  function &MetaColumns($table)
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #23 於: 六月 15, 2005, 11:03:18 上午 »

Hi trevoryu;

謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。

Mark
已記錄

pest
新手見習
*
文章: 30


檢視個人資料 個人網站
« 回覆文章 #24 於: 六月 15, 2005, 01:21:53 下午 »

引用自: markwu
Hi trevoryu;

謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。

Mark


好像是我的問題, 因為這個 bug 還掛在我頭上 XD
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #25 於: 六月 15, 2005, 01:39:07 下午 »

引用自: pest
引用自: markwu
Hi trevoryu;

謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。

Mark


好像是我的問題, 因為這個 bug 還掛在我頭上 XD


可是這的確是 Oscar 還是 Ben 把 ADOdb upgrade 之後忘了做 Patch 所造成的。真是要命的錯誤,程式越大越難管,忘東忘西的  吐舌頭

你可以做好修改後 upload 上 bugs.lifetype.net 嗎? 我會把他 commit 上去。我把 bug 590 assign ,如果你沒空,沒關係, assign 給我,我會來做。 開懷大笑

Mark
已記錄

Loaf
新手見習
*
文章: 23


檢視個人資料
« 回覆文章 #26 於: 六月 16, 2005, 03:10:05 上午 »

什麼時候會有1.0.2出來呢?

之前請Pest幫助把舊的MT資料匯出成MySQL的備份檔後,(Pest,真是太謝謝你了),在匯回MySQL時,也遇到了和trevoryu一樣的問題。
有趣的是,我照著trevoryu所說,把adodb-mysql.inc.php中的三段hacks貼回去後,首頁會變得白白一片,也沒有任何錯誤的訊息。Pest寄了一份adodb-mysql.inc.php給我參考,不一樣之處我是看得出來,但因為功力不夠,實在不知怎麼參考起。把它全部覆蓋上去,也沒有成功。(Pest,真是太對不起你了)
使用1.0.1雖然文字成為問號,但是頁面的架構是正常的,所有的連結也可以用。
我嘗試把資料倒在1.0中,問題就相反了。文字顯現正常,但是頁面的架構則變得不正常(模板的效果沒有出來,除了文字以外背景全變成白色,原來在右邊的導覽區會靠到左邊,文章被擠到下面。)所有的連結點選都失效,包括詳細閱讀。
因為懷疑是不是AppServ 2.4.3的問題,我也試了EasyPhp 1.8,結果一樣。

另外一個有趣的現象是,在把資料庫匯回MySQL,(此時是0.3.2的格式),使用pLog做昇級的動作時,執行wizard.php,它第一次會顯示「一般的安裝」,然後會告訴你資料庫內已存有資料(22個表格),先幫你加上另外4個表格,然後跟你說安裝失敗。不過只要把資料庫內的資料先刪除,再匯回資料,再執行wizard.php,它會顯示出「昇級」的頁面,而且之後的安裝也不會有問題。
我本來也只以為是某種意外,從頭安裝三次(使用不同的WAMP),發現這個意外還滿一致的,提出來給大家參考。

致於我自己的問題,我已不好意思再問Pest了,(他自己試過沒問題,我卻裝不起來,唉~~)。只要1.0.2早點出來,我想一切都會雨過天晴的了。
已記錄
pest
新手見習
*
文章: 30


檢視個人資料 個人網站
« 回覆文章 #27 於: 七月 02, 2005, 10:52:49 下午 »

引用自: markwu
引用自: pest
引用自: markwu
Hi trevoryu;

謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。

Mark


好像是我的問題, 因為這個 bug 還掛在我頭上 XD


可是這的確是 Oscar 還是 Ben 把 ADOdb upgrade 之後忘了做 Patch 所造成的。真是要命的錯誤,程式越大越難管,忘東忘西的  吐舌頭

你可以做好修改後 upload 上 bugs.lifetype.net 嗎? 我會把他 commit 上去。我把 bug 590 assign ,如果你沒空,沒關係, assign 給我,我會來做。 開懷大笑

Mark


Hi Mark,

我已經放好很久了, 不過不知道是不是因為掛在我頭上所以你們沒收到通知?
可以幫我 commit 進去嗎? 謝謝。
已記錄
pest
新手見習
*
文章: 30


檢視個人資料 個人網站
« 回覆文章 #28 於: 七月 02, 2005, 10:55:51 下午 »

對那些目前用 1.0.1 的使用者:

把 1.0 版的 class/database/adodb/drivers/adodb-mysql.inc.php 蓋過 1.0.1 版相同檔案即可, 新舊版之間除了我的 patch 外沒有差異。
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #29 於: 七月 05, 2005, 11:41:44 上午 »

引用自: pest
對那些目前用 1.0.1 的使用者:

把 1.0 版的 class/database/adodb/drivers/adodb-mysql.inc.php 蓋過 1.0.1 版相同檔案即可, 新舊版之間除了我的 patch 外沒有差異。


Hi Pest

非常非常抱歉 害羞 ,我沒注意到。我馬上放。

Mark
已記錄

頁: 1 [2]
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  1.0升級至1.0.1的問題 « 上篇主題 下篇主題 »
    前往: