What have you found for these years?

2010-06-20

to phpbb3

忽然間一陣茫然,真是可笑。下午想說開始把一些東西備份到 phpbb 裡,
結果不知為何 php 就是連不上 mysql. 用 mac 內建的,很難用的 apachectl
重開了很多次 server, 似乎都沒有用。而且每次重開就要等好久,我的耐心
好像在一瞬間就消失似的。

於是我開始想說,那乾脆順便升到 phpbb3 好了。我是該振作把這些有的沒的
處理好,這是個機會不是嗎?總算有的。就算那不夠強烈,相信也很難找到
更好的機會。下載了 phpbb3, 想說也一口氣換成 sqlite 好了,這樣以後不用
再灌 mysql, 也不用處理一堆 server 的事情。

結果真的是一波三折啊。php 還是連不上 mysql, 而我測試 GUI tool,
明明就連得上。換成 datamapper 試試,也看起來毫無問題。
因此應該不可能是 mysql 的問題... 而且這還是我用 homebrew 灌的耶。
根據經驗,只有 mac 內建的東西會有問題,也就是 apache 和 php.
偏偏有時候又連得上,有時候又不行,這才是真正奇怪之處。

最後總算發現是 php.ini 裡面的 mysql socket 路徑設定根本不對。
唔,那 TCP 咧??算了,不想追究,設到正確的路徑後看起來就對了。
接著 apachectl 又碰上一堆問題... 最後決定用 sudo killall httpd 和
sudo httpd 來開關 apache, 這樣比用他那莫名其妙的 apachectl 好多了。
他那很奇怪還會去動 launchd 不知道想幹什麼?

接著由於覺得預設 apache 實在開太多大便模組了,就隨手關掉一些。
apachectl 完全不會告訴你任何錯誤,改用 httpd 後才發現因為關掉
了一些模組,導致某些 config 壞掉了。昏倒.....

到這邊就搞半天了。拜託不要吃掉錯誤訊息啊!!

總算 mysql 跟 apache 還有 php 都搞定後,開始正式把 phpbb2 的資料
移轉到 phpbb3 上。用他的程式跑還滿容易的,就設定一下就行了。
雖然也是搞半天才發現一定要把 install 移除,不然所有版面都看不到。
接下來又發生一件可怕的事....... 就是一直回傳 content encoding error.
但我用 curl 去抓資料卻是對的。試了 -H 'Accept-Encoding: gzip' | zcat
發現 gzip 真的是壞的..........

google 了好久還是不知道怎麼解決這個蠢問題。後來發現其實 phpbb2
倒是正常的?於是可以把矛頭從 apache 上移到 phpbb3.
google 之後總算發現原來 phpbb3 本身可以自己做 gzip 呀........
那我猜 phpbb3 根本就做了 double gzip, 自己做一次 apache 又做一次,
那當然會壞掉啊!昏倒。

接著想說要直接進 database 把 gzip 關掉,然後發現存下來的資料格式,
居然不是 sqlite3 而是 sqlite2 !!! 什麼鬼啊,為什麼會選擇 2 咧?
查半天之後發覺,phpbb3 似乎不支援 sqlite3, 因為 sqlite3 在 php 下
需要什麼 pdo 之類的,然後這東西又是 php5 才有,因此 phpbb3 不支援。
真的是要昏倒了,僅僅為了支援 php4 就不支援 sqlite3, 未免...
所以現在很苦惱是不是乾脆還是繼續用 mysql 算了,至少有支援 5.

然後發現系統設定的地方,不會碰到 content encoding error,
總算能夠用網頁介面關掉 gzip, 看起來就真的正常了。

還沒處理完,剩下一堆爛攤子,弄不下去了,中間搞到快抓狂。
我真受不了 apache 和 php 為什麼都會把事情搞到這麼複雜...
或許這是他們的文化吧... 君不見 ruby 就是立刻把歷史包袱丟掉 XD
因此最新的東西,可以做到非常乾淨俐落,不會讓人一直撞牆。
當然想支援老舊的東西則完全做不到了,這是必然的。

-

於是暫時喘口氣,先繼續用 gmail 的 draft 備份和寫我的東西。
究竟什麼時候才能徹底解決這個問題呢,真的不想再接觸到 apache 和 php 了。

其他話其他地方再說好了,這篇就留給這個過程就好。

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0