西元2005年12月31日
因應 WordPress 2.0 , 修改 Recent Comments .
升級 2.0 以後, 我發現 Recent Comments 的選項頁面出不來.
我按照文章裡面的說明修改 wp-content/plugins/get-recent-comments.php , 在這行:
// WordPress 1.5 includes this file again on the options page. Avoid duplicate declaration:
下面有段:
if ( function_exists("is_plugin_page") && is_plugin_page() ) {
kjgrc_options_page();
return;
}
然後把整段整個換成
add_action('options_page_get-recent-comments', 'kjgrc_options_page' );
就好了. 
00:07 永久網址 | 留言 (0) | Email this
西元2005年12月30日
換個 theme , 順便換掉原本的表情圖示
我在 上一篇 提到文章編輯器的一些問題.
trace 過 code 以後發現在後台的 Users 頁面最下方有個 “Use the visual rich editor when writing” 的選項, 把這個選項取消勾選後就可以不使用所見即所得的編輯器了.
另外, 關於原本升級完用的 WordPress Yahoo/MSN Messenger Style Smileys , 也被我拿掉了.
改用的是在 這邊 列出來的 WP-Grins , 然後把 WordPress 內附的表情圖示都換成 MSN 種類的.
更換的步驟大概是這樣:
- 先到 這邊 下載 WP Grins , 解壓縮後依照裡面的說明進行安裝 .
- 如果是用 WordPress 2.0 的話, 請修改 wp-content/plugins/wp-grins.php , 把裡面的
/wp-images/smilies/換成/wp-includes/images/smilies/. - 接下來到 這裡 把 smilies2.tar.gz 抓下來進行解壓縮 .
- 把你想用的表情圖示放到 wp-includes/images/smilies/ 底下.
- 修改 wp-includes/vars.php , 在
$wpsmiliestrans = array(這行下面就是輸入字串與表情圖示檔的對應.
這樣就完成了.
趁著改東改西的時候, 我也順便把我這邊的 theme 換掉了. 
07:56 永久網址 | 留言 (0) | Email this
西元2005年12月28日
詭異的 eAccelerator
從幾個禮拜前我就在我的 BBS 個人板叫過, 我的 Apache 啟動後過不了多久就會狂噴這種訊息到 error log 裡 :
[warn] (32)Broken pipe: write pipe_of_death
而且 child process 的數量只會一直增加, 不會減少.
如果我沒記錯的話, 這串訊息出現在我把 2.0.54 換成 2.0.55 以後.
所以當時我是決定把 2.0.55 換成 2.2 .
很不幸的, 狀況並沒有變動, 訊息仍然存在.
我一直以為是 Apache 的問題, 直到我在昨天看到 這篇 才恍然大悟.
很明顯的, 罪魁禍首是 eAccelerator , 問題出在 debug.c 這支程式的這段:
void ea_debug_shutdown ()
{
fflush (F_fp);
fclose (F_fp);
F_fp = NULL;
}
把
fclose (F_fp); 換成 if (F_fp != stderr) fclose (F_fp); , 重新 compile & install 就沒事了.如果是用 FreeBSD 的 ports 安裝的人可以把 這個 patch 檔 抓回去放在 /usr/ports/www/eaccelerator/files 底下, 然後用 portupgrade -f 或重裝一遍就可以解決.
話說回來, 這種 bug 還真是讓人無言以對啊...........
04:25 永久網址 | 留言 (0) | Email this
FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題
前幾天送了個 pr ( problem report ) 回去給總部, 順便在這邊說一下好了, 反正太久沒寫 Blog .
這個 pr 是 Apache 2.2 啟動用的 shell script 問題.
我不知道 2.1 有沒有這問題, 因為我用的是 2.2 , 下面也是以 2.2 做說明.
之前官方並沒有提供 apache22_http_accept_enable 這個參數讓我們丟進 /etc/rc.conf , 所以唯一解法是在 /boot/loader.conf 加進這行 :
accf_http_load=”YES”
現在 /usr/local/etc/rc.d/apache22.sh 裡面可以看到這段 :
# apache22_http_accept_enable (bool): Set to "NO" by default.
# Set to yes to check for accf_http kernel
# module on start up and load if not loaded.
跟這段 :
if checkyesno apache22_http_accept_enable
then
if ! /sbin/kldstat -q -m accf_http
then
/sbin/kldload accf_http
fi
else
apache22_flags="-DNOHTTPACCEPT $apache22_flags"
fi
很明顯的, 這邊用到 kldstat 的 -q 跟 -m 這兩個選項.
但是 kldstat 在 FreeBSD 6 裡面才有支援 -q , 而 -m 則是在 5.4 STABLE 才有支援 , 5.4 RELEASE 以下都沒有.
- kldstat online manpage – FreeBSD 6.0
- kldstat online manpage – FreeBSD 5.4 STABLE
- kldstat online manpage – FreeBSD 5.4 RELEASE
所以在 5.4 RELEASE (含) 以下的平台在啟動時會看到這種訊息 :
kldstat: illegal option -- q
usage: kldstat [-v] [-i id] [-n name]
所以我送 pr 去請他們把 -q -m 改成 -n 就好.
目前看來是還沒處理, 不知道會不會回我信, 叫我改用 FreeBSD 6.0 ? XD
03:57 永久網址 | 留言 (0) | Email this
西元2005年11月28日
FreeBSD 上面的 PHP 4.4.1
我只能說, 這個版本是顆大地雷.
除非系統是自己開發, 而且程式碼都寫得很漂亮, 不然用 4.4.0 還是比較好.
之前幫某台機器升級, 結果上面的 phpBB 就爛了... orz
Error message 長這個樣子:
PHP Fatal error: Cannot redeclare get_userdata() in xxx.php on line xxx
後來是靠 portdowngrade ( 在 /usr/ports/sysutils/portdowngrade ) 把版本換回 4.4.0 , 指令上大致上是這樣 :
cd /usr/ports/sysutils/portdowngrade
make install clean
rehash
portdowngrade -o -s :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs lang/php4
然後會出現一些問題給你選, 弄好以後用 portupgrade -f 把已安裝的這兩種開頭的軟體全部洗一遍就好:
- php4-*
- pecl-*
![]()
23:56 永久網址 | 留言 (0) | Email this


