-
FreeBSD 開啟 quota 功能
Posted on December 5th, 2007 No commentsFreeBSD 預設沒有支援 quota 功能,如果需要支援 quota 便要重新編譯 kernel。以下是巨體實現方法:
cd /usr/src/sys/i386/conf
vi GENERIC加上 options QUOTA(中間分隔的是 TAB 而非空白鍵)。
然後執行:
config GENERIC
cd ../../compile/GENERIC
make depend all install編譯完成後,修改 /etc/fstab 檔案,例如要在 /home 這個分割區做空間管理,在 /home 的那行將 "rw" 改成 "rw,userquota"。
然後修改 /etc/rc.config,加入:
check_quotas="YES"
完成後輸入 "sync;sync;reboot" 重新開機。
在第一次執行 quota 時,請先執行以下指令:
cd /home
quotacheck -avug最後建立 /usr/local/etc/rc.d/quota_on.sh 檔案,讓開機時自動執行 quota,以下是 /usr/local/etc/rc.d/quota_on.sh 的內容:
#!/bin/sh
# Check quota and then turn quota on.
if [ -x /sbin/quotacheck ]
then
echo "Checking quotas. This may take some time."
/sbin/quotacheck -avug
echo " Done."
fiif [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi
-
隨機抽取 MySQL 內的資料
Posted on December 5th, 2007 No comments如果要在資料庫內隨機抽取資料,可以用 PHP 或 MySQL 內置的 RAND() 函式來做,以下是使用 MySQL 的語法:
SELECT * FROM table_name ORDER BY RAND() LIMIT 1;
-
用 ImageMagick 製作縮圖
Posted on December 5th, 2007 1 comment只要在系統安裝 ImageMagick 後,就可以在指令模式下製作各種圖片的持效。當然也可以使用 PHP 從 shell 下使用 ImageMagick,以下是製作縮圖的方法:
shell_exec("/usr/local/bin/convert -sample 500×500 /pathto/images/image1.jpg /pathto/images/image2.jpg");
以上是將來源圖片 /pathto/images/image1.jpg 製作縮圖,高和闊都以 500 像素為上限,那就是說製作出的縮圖會根據原始圖片的比例下,高和閣都不會超出 500 像素,然後檔案會輸出到 /pathto/images/image2.jpg.
如果要單單用 PHP 完成以上工作,要自行計算出縮圖片大小才可以做,而且更加可以用百份比,例如 50%x50% 就是高和闊都是原圖的 50% 大小。
-
設定 Linux 對 Ping 指令沒有回應
Posted on December 4th, 2007 No comments在 linux 裏,如果想對 ping 指令沒有反應,其實是忽略 icmp 封包,可以用以下指令實現:
echo 1 < /proc/sys/net/ipv4/icmp_echo_ignore_all想回復原來設定可以用:
echo 0 < /proc/sys/net/ipv4/icmp_echo_ignore_all
-
PHP 設定瀏覽器 timeout 時間
Posted on December 4th, 2007 No comments如果你的 PHP 程式需要做很複雜的運算,而且預計不能在 30 秒 (PHP 的預設值) 內完成,可以在 PHP 程式的開始部份加上:
set_time_limit(900);
以上例子是將 timeout 時間設定成 900 秒,即 15 分鐘。
-
MySQL 中的變數
Posted on December 4th, 2007 No comments一般上使用 MySQL 都是儲存資料及需要時抽取所需的資料,其實 MySQL 還有很多其他功能,以下介紹使用 MySQL 的變數刪除一些舊資料:
select @del_time:=`time` from `article` order by `time` desc limit 499, 1;
delete from `article` where `time`以上第一行 SQL,會定義一個 del_time 變數,value 是資料表 article 倒序排第 500 筆的 `time` 欄位。
第二句是刪除在 article 資料表內時間比 del_time 還要舊的文章。
-
OpenOffice.org 加速啟動時間
Posted on December 4th, 2007 No commentsOpenOffice.org 是目前在 Linux 下的辦公室套件主流,但它的啟動實在太慢了,以下是 OpenOffice.org 加快啟動時間的技巧,我在 Ubuntu 7.10 上裡試驗後十分明顯,而只需更改 OpenOffice.org Word Processor,其他 OpenOffice.org 軟件也會自動生效。
首先開啟 OpenOffice.org Word Processor,然後按 "工具" -> "選項"。
然後選擇 "記憶體",並根據以下設定:
– 復原 步數: 20
– 圖形記憶體 用於 OpenOffice.org: 20
– 物件數量: 20
– 選取 systray 快速啟動然後選擇左邊的 "Java",並取消選取 "Use a Java runtime environment"。最後按 "確定"。現在可以嘗試開啟其他 OpenOffice.org 軟件,會發覺啟動速度加速了不少。
-
IE only 不單出現在小型網站
Posted on December 3rd, 2007 1 commentIE7 已經推出了一段時間,覺得升級還應該沒問題的。上星期升級到 IE7 後,一開啟便被那新介面吸引,可能第一個感覺就是比 IE6 慢,而且試過幾次當掉。
今天便乾脆把 IE7 移除,換回 IE6 後感覺更順。在日常要用 IE 的原因不是 IE only 的網站,因為這個問題可以用 Firefox 的 IE View 解決。主要原因是用信用咭網上付款時,如果 payment gateway 是用 Visa Verified 的話,用 Firefox 即使輸入正確的驗證碼都不能交易,只可以用 IE 進行交易。
想不到 IE only 這個問題連網上銀行也有,我有透過客戶服務熱線反映這個問題,但我想他們也不會認真看待,畢竟在一般用戶裡面使用 Firefox 的還是少數。
-
用 .htaccess 強制顯示下載對話框
Posted on December 2nd, 2007 No comments在網頁上直接連結到如 .avi 及 .pdf 檔案時,瀏覽器不會彈出下載對話框,而會直接在瀏覽器顯示內容。這個問題可以透 .htaccess 解決,強制指定檔案顯示下載對話框,例如:
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
AddType application/octet-stream .mov
AddType application/octet-stream .pdf
-
失去寫程式的熱情
Posted on December 2nd, 2007 1 comment記得在讀書時,寫程式是自己的興趣,覺得如果日後可以將自己的興趣作為工作會很不錯,而後來也將寫程式變為自己的工作。但近一兩年開始發覺,對以前那股熱情好像慢慢減退了,在空閒時也不會找點什麼寫一寫。
雖然自己寫出來未必有一些現成的開源程式好用,但以前總是什麼都想自己來,但現在會找一些現成的開源程式,或者花幾十至一百多美元買一套付費版,功能已經很強大。
現在寫的程式是為了工作所需,要在有限的預算及時間內完成,寫出來的程式一些也不紮實及健全。真的很希望可以找回在讀書時初次寫河內塔的熱情。
