markwu
|
|
« 回覆文章 #15 於: 六月 05, 2005, 09:39:42 上午 » |
|
你有改過 /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
|
|
« 回覆文章 #16 於: 六月 07, 2005, 02:11:07 下午 » |
|
我的網站在 http://blog.trevoryu.net剛用1.0.1覆蓋,刪除wizard.php,修改config.properties.php後,未清tmp 清tmp,reload頁面後 進admin,編輯舊文章,中文仍為問號 用原備份檔案覆蓋,又恢復正常 Hi trevoryu: 不好意思。我還是沒試出跟你一樣的情況,真不知該怎麼解決 Mark
|
|
|
已記錄
|
|
|
|
markwu
|
|
« 回覆文章 #17 於: 六月 07, 2005, 02:14:57 下午 » |
|
|
|
|
已記錄
|
|
|
|
Eji
新手見習
文章: 48
|
|
« 回覆文章 #18 於: 六月 08, 2005, 04:26:29 下午 » |
|
我大概知道原因了。在 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
|
|
« 回覆文章 #19 於: 六月 10, 2005, 10:40:51 上午 » |
|
Hi Hi trevoryu: 解了嗎?你有去看這一篇了嗎? Mark
|
|
|
已記錄
|
|
|
|
trevoryu
|
|
« 回覆文章 #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比較有關係...
|
|
|
已記錄
|
|
|
|
|
trevoryu
|
|
« 回覆文章 #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
|
|
« 回覆文章 #23 於: 六月 15, 2005, 11:03:18 上午 » |
|
Hi trevoryu;
謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。
Mark
|
|
|
已記錄
|
|
|
|
pest
|
|
« 回覆文章 #24 於: 六月 15, 2005, 01:21:53 下午 » |
|
Hi trevoryu;
謝謝,我會再從新把他 patch 回 1.0.2,下一版釋出時應該就正確了。真是不好意思,造成你的不便。
Mark 好像是我的問題, 因為這個 bug 還掛在我頭上 XD
|
|
|
已記錄
|
|
|
|
markwu
|
|
« 回覆文章 #25 於: 六月 15, 2005, 01:39:07 下午 » |
|
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
|
|
« 回覆文章 #27 於: 七月 02, 2005, 10:52:49 下午 » |
|
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
|
|
« 回覆文章 #28 於: 七月 02, 2005, 10:55:51 下午 » |
|
對那些目前用 1.0.1 的使用者:
把 1.0 版的 class/database/adodb/drivers/adodb-mysql.inc.php 蓋過 1.0.1 版相同檔案即可, 新舊版之間除了我的 patch 外沒有差異。
|
|
|
已記錄
|
|
|
|
markwu
|
|
« 回覆文章 #29 於: 七月 05, 2005, 11:41:44 上午 » |
|
對那些目前用 1.0.1 的使用者:
把 1.0 版的 class/database/adodb/drivers/adodb-mysql.inc.php 蓋過 1.0.1 版相同檔案即可, 新舊版之間除了我的 patch 外沒有差異。 Hi Pest 非常非常抱歉 ,我沒注意到。我馬上放。 Mark
|
|
|
已記錄
|
|
|
|
|