PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()

header() 最常被拿來送 header('Location: /'); 等等, 做網頁導向的動作.

除了這些動作外, 還有 setcookie(), header()... 等, 這些 function 在執行前, 頁面上都不能有任何輸出(空白也不行), 若有任何輸出, 就會有下述的錯誤訊息:

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/www/test.php:5) in <b>/var/www/test.php</b> on line <b>6</b><br />

閱讀全文〈PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()〉

Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)

常會遇到有幾個文字檔, 裡面有幾個欄位是跟另外檔案是一致的, 要把他合併成一個檔案, 這時後最快的就是用 join.

  • Man 說明: join - join lines of two files on a common field

這次遇到的狀況是:

  1. find . -size 0 > a # 找出 size 是 0 的 "圖檔檔名"
  2. b # 從 DB 撈出所有的 "相對應的帳號 => 圖檔檔名"
  3. 要將 size = 0 的圖檔都抓出來, 再將 a 和 b 做 join, 會把 a 和 b 依照 "圖檔檔名" 做結合, 就可知道哪些帳號的圖檔 Size = 0, 再來做其它處理囉~
  4. 註: 要注意要結合的那個欄位, 要先做過 sort, 不然可能會有某些欄位無法 match.
  5. 最後再 find . -size 0 -delete 全部砍掉~ 😛

閱讀全文〈Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)〉

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 安裝)〉