wordpress從php 5.2轉移到php 5.3的相容性問題

把wordpress從php 5.2(win32)移轉到php 5.3(win64),發生了相容性的問題。

一開始是發生在首頁,但如果指定某些頁面又是正常。經過持續不斷的echo , die之後,

最後問題是在wp/wp-includes/formatting.php這隻檔案裡的wptexturize函數。

php 5.3(win64)一般情況還是可以正常執行的。但若是丟給這隻函數處理的文字內容有個 [ 字元,它的解析過程就直接崩潰,連錯誤訊息也沒有,一點反應都不給。

發生問題的是下列片段。這個在php 5.2(win32)完全正常。 閱讀全文〈wordpress從php 5.2轉移到php 5.3的相容性問題〉

Zend_Mail的addBcc()在windows下無效

如果在Windows環境下使用Zend_Mail寄信,而且是使用Zend_Mail_Transport_Sendmail當作transport,addBcc()基本上無效,所有收件者仍然會顯示出來。因為Zend_Mail會將addTo(), addCc(), addBcc()這些方法指定的email全部當成是收件者,也就是php函數mail()的$to參數。如此一來,所有的收件者自然就全部顯示了。但如果使用Zend_Mail_Transport_Smtp當作transport,運作則完全正常。 閱讀全文〈Zend_Mail的addBcc()在windows下無效〉

初始化mail resource

Bootstrap是用來初始化resource。所有可以初始化的resource在Zend/Application/Resource底下可以找到,檔名即代表resource的名稱。

本篇旨在說明初始化mail resource的作法。說是mail resource,但實際上這個資源和寄信並沒有直接的關係,實際上寄信的實際內容還是需要透過初始化Zend_Mail這個類別來進行,這個mail resource是將最後Zend_Mail::send()所需要的Zend_Mail_Transport_Abstract物件實作,並指定給Zend_Mail::$_defaultTransport屬性,這樣實際用到send()的時候就不用再傳Zend_Mail_Transport_Abstract物件了。

同時,這個mail resource也順便設定了郵件標頭的預設from及reply屬性。 閱讀全文〈初始化mail resource〉

Zend_Form_Element可使用的options

在Zend Framework裡建立表單元件會使用到Zend_Form_Element類別,建構實體時傳入的第一個參數為元件種類,第二個參數是元件的名稱,第三個參數是建立元件的選項。底下是所有可以設定的選項內容。

一般而言,「set+選項名稱」是Zend_Form_Element類別的method,如果此選項名稱並非Zend_Form_Element的method,則會將此選項當作Zend_Form_Element類別實作元件的attrib。

閱讀全文〈Zend_Form_Element可使用的options〉

隨手筆記2011-12-25

#同表單允許上傳多個檔案,而且又以時間戳記來重新命名,如果單位只到秒數的話,很可能會導致同名覆蓋的狀況產生。大學城的測試狀況應該就是這個原因。

#知道硬碟不能裝得太滿,不然存取效率會很差,不過這個滿的程度還真不一定,例如一個分割區還有4、5G的情況也可能效率就變差,動不動就長時間硬碟燈就大亮。(後記:這個問題,後來發現是記憶體其中一條莫名其名失效所導致的。因為記憶體少了一半,所以變成虛擬記憶體的應用增加,硬碟的讀取動作就增加。所以可能不完全如上所述。) 閱讀全文〈隨手筆記2011-12-25〉

Proudly using Dynamic Headers by Nicasio WordPress Design