PHP mysql_connect() 出現 function not define 問題解決

Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).

只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟:

  1. vi /etc/my.cnf
  2. #socket=/var/lib/mysql/mysql.sock # 註解掉
  3. socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock

此完成後即可正常使用.

閱讀全文〈PHP mysql_connect() 出現 function not define 問題解決〉

MySQL MyISAM 4GB限制解除

MySQL MyISAM 有 4GB 的限制, 如果使用量超出 4GB, 有何方法能解決.

因: MySQL 用 32bits pointer 來記錄資料位置, 所以只能定址到4GB的空間, 再多就會出現此錯誤.

解法: 將原本檔案大小限制 轉換成 rows 數目限制即可. 但是特別注意, 要做此轉換前, 一定要做備份, 並對 table 做 OPTIMIZE TABLE... 千萬千萬要做 OPTIMIZE TABLE.

閱讀全文〈MySQL MyISAM 4GB限制解除〉

del.icio.us 備份

del.icio.us 存的 url 要備份只要簡單的一行指令, 即可完整備份下來.

wget --http-user=YourUserName --http-passwd=YourPassword -O del.icio.us_backup.xml https://api.del.icio.us/v1/posts/all

或 (curl -L 可以避掉頁面 redirect 的問題)

curl --silent -L --user YourUserName:YourPassword -o del.icio.us_backup.xml -O 'https://api.del.icio.us/v1/posts/all'

更多資訊可參考: 一行指令備份 del.icio.us

閱讀全文〈del.icio.us 備份〉

del.icio.us Firefox extension

del.icio.us 的好用是眾所皆知~ 但是有些好用的工具(都在 help 中)但有些不太好找, 把目前我常用的整理出來~ 🙂

如果你要設定某些 bookmark 要隱藏不公開, 照以下點選即可.

setting -> private saving -> allow private saving of bookmarks? (打勾)

之後, 在 bookmark 時, 旁邊都會有個 "do not share" 可以勾起來, 打勾此網址就不會 share 出去. (這樣就不用怕公司資料外流囉).. 🙂

閱讀全文〈del.icio.us Firefox extension〉

鍵盤按鍵 與 Javascript key codes 對應表

當要設計快速鍵, 但是到底此鍵盤按鍵對應的 key code 到底是多少呢~ 找到一個非常實用的列表.

為了怕不見, 將此頁存下來於此檔 Javascript Key Codes.

另外找到下述網站有 ASCII 1~255 分別對應的字元列表

閱讀全文〈鍵盤按鍵 與 Javascript key codes 對應表〉

Regular Expression 忽略特殊符號的功能

Regular Expression 對 ( ) [ ] | * ..... 等的符號都有特殊意義, 但是當系統不幸的是用 Big5, 而且 更不幸的是, 要取代的字有這些特殊符號時就很麻煩了.

以下是 Perl 的解法.

$wine =~ m/(\Q八八坑道\E)/;

因為 "坑" 字在 Big5 裡面有個 "|" 符號在裡面, 會造成此判斷錯誤, 於是用 \Q \E 包住, 在這裡面的字, 就會忽略所有特殊符號, 而讓程式正確的執行.

閱讀全文〈Regular Expression 忽略特殊符號的功能〉

Bash Shell 快速鍵

Bash Shell 快速鍵列表

  • Alt-F: 到此行的後一個字
  • Alt-B: 到此行的前一個字
  • Ctrl-A: 回到此行最前面
  • Ctrl-E: 到此行的最後面
  • Ctrl-U: 清除一行中游標之前的所有文字
  • Ctrl-K: 清除一行字游標之後的所有文字
  • Ctrl-H: 移除游標前的一個字元(同 backspace)
  • Ctrl-D: 移除游標後的一個字元(若於命令列有字的話)
  • Ctrl-D: 結束輸入(如果您在 shell 下,就會跳出該 shell)
  • Ctrl-C: 終止正在執行的程式
  • Ctrl-Z: 暫時停止程式(將該工作放到背景) (fg 1, fg 2 拿回)
  • Ctrl-S: 停止輸出到畫面上(類似 Scroll Lock, ex: cat xxx 需暫停時使用)
  • Ctrl-Q: 回復輸出到畫面上(恢復Ctrl+S的輸出)
  • Ctrl-W: 刪除游標之前的最後一個單字
  • Ctrl-R: 搜尋過去的命令 (繼續往回找 Ctrl-r(上一個的上一個), 找過頭 Ctrl-R (Ctrl+Shift+r) 往下找)
  • Ctrl-F: 游標向後移動
  • Ctrl-B: 游標向前移動
  • Ctrl-P: 找上個指令(同上箭頭)
  • Ctrl-N: 找下個指令(同下箭頭)
  • Ctrl-T: 相近兩個字元互換位置
  • Ctrl-Z: 丟到背景執行, 可用 fg 回復
  • Ctrl-L: 清畫面
  • Ctrl-J: 同 Enter
  • Ctrl-I: 同 Tab
  • Ctrl-V: 加上要輸入特殊字元, ex: Ctrl-V Ctrl-C 會出現 ^C 而不是中斷
  • Ctrl-V TAB: 輸入 TAB,而不是命令列擴展
  • C-xC-e 可以使用 vim 寫入 script 讓他一次執行
  • Alt-d: 刪除游標之後的一個單字
  • TAB: 擴展要輸入的檔案到命令列上
  • 上/下箭頭: 開始搜尋過去的命令
  • ESC-T: 最後 兩個 "單字" 互換位置

閱讀全文〈Bash Shell 快速鍵〉