PHP session 暫存檔過多的注意事項

註: 若您已經將 session 存入 MySQL 或 存入 memcache, 此文對您就沒有幫助囉~ 🙂

PHP 預設 session 是會存成 file, 預設檔名是 sess_一串亂碼, FreeBSD 是存在 /tmp/var/tmp, Debian 會放在 /var/lib/php5. (以下都以 Debian 為例)

閱讀全文〈PHP session 暫存檔過多的注意事項〉

Ubuntu / Debian 快速修改預設編輯器(nano -> vim)

 Debian / Ubuntu Linux 在 visudo 等動作, 預設是 nano, 要修改預設編輯器可用下述命令:(還是改成 vim 比較熟, nano 連複製都不會, 修改起來很辛苦)

  • update-alternatives --config editor

上述指令會出現如下選項:

   可使用的替換項目
===========================
          1    /bin/ed
*+        2    /bin/nano
          3    /usr/bin/nvi
          4    /usr/bin/mcedit-debian
          5    /usr/bin/vim.basic

按下 enter 來指定預設選項[*],或者輸入選擇的號碼:

這個代表現在預設是 nano, 輸入數字即可設定預設的編輯器 (我是一定選 5 的. XD)

改用 vim 後, 擺脫掉原先黑白的設定畫面~ 果然彩色的設定看起來就不一樣, 改起來也輕鬆多了~ 🙂

安裝 PHP bcompile 做 編譯/加密 原始碼

PHP 的程式在公司在交付程式中, 比較麻煩的就是要如何把原始碼編譯或加密, 免費的方案, 可以考慮用 bcompiler(PHP bytecode Compiler).

不過這套於 PHP5 的物件寫法, 繼承等等, compiler 後執行會有問題, 純 function / include 等等, 是正常的.

閱讀全文〈安裝 PHP bcompile 做 編譯/加密 原始碼〉

查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler

MySQL 的 SQL 語法調整主要都是使用 EXPLAIN, 但是這個並沒辦法知道詳細的 Ram(Memory)/CPU 等使用量.

於 MySQL 5.0.37 以上開始支援 MySQL Query Profiler, 可以查詢到此 SQL 會執行多少時間, 並看出 CPU/Memory 使用量, 執行過程中 System lock, Table lock 花多少時間等等.

閱讀全文〈查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler〉

Debian Linux 完整移除套件 / 重新安裝套件 / 鎖定套件版本(apt)

很多人常會發生把某個套件搞爛了, 或者設定檔之類不小心砍掉了, 再來想到的當然是移除再重新安裝 或直接 (apt-get install --reinstall package), 但是怎麼裝, 設定檔就是回不來, 搞爛的資料也還是留著.

這並不是 Debian 的錯, 主要是怕你在移除時, 不小心就將重要資料跟著就砍掉了(ex: MySQL 不小心移除就把 DB 砍掉, 這就很尷尬了.)

閱讀全文〈Debian Linux 完整移除套件 / 重新安裝套件 / 鎖定套件版本(apt)〉

Apache2 載入 Expires 的模組(mod_expires) 與 設定

設定 圖片 / CSS / Javascript 等靜態檔案的過期時間, 可以讓網頁下次 loading 的速度更快(直接從瀏覽器的 cache 拉), 也可以節省 頻寬 和 Apache 吐這些檔案所耗的資源.

閱讀全文〈Apache2 載入 Expires 的模組(mod_expires) 與 設定〉

Debian Linux 安裝 php-java-bridge (tarball 安裝)

雖然 php-java-bridge 有包好的 deb 檔, 但是安裝的東西稍嫌多了點(詳可見: Debian Linux 安裝 php-java-bridge (使用deb安裝)), 使用 tarball 安裝, 可以少安裝蠻多不必要的 Package.(省掉安裝 tomcat 就差蠻多了)

閱讀全文〈Debian Linux 安裝 php-java-bridge (tarball 安裝)〉