用 Plack 提供的 CGI 跑 Adminer...

在「用 Plack 跑 CGI」提到用 Plack 跑 CGI,目的是把 PHP 寫的 Adminer (一個取代 phpMyAdmin 的工具) 跑起來。

文章裡提到 PHP 沒辦法以 CGI mode 執行,主要有兩個原因。一個是 PHP 本身有安全機制,php-cgi 必須在有 REDIRECT_STATUS 這個環境變數下才能執行,另外一個是 php-cgi 需要用到 SCRIPT_FILENAME 這個非 CGI/1.1 標準 (RFC 3875 - The Common Gateway Interface (CGI) Version 1.1) 的環境變數。

由於我只打算跑 Adminer,而 Adminer 的程式都放在同一個檔案裡,所以可以把這兩個環境變數設死惡搞:

env -i REDIRECT_STATUS= SCRIPT_FILENAME=/path/adminer.php /usr/local/bin/plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path")->to_app'

這樣就跑起來了...

用 Plack 跑 CGI

如標題,有時候總是有些奇怪的需求,想要用 CGI mode 跑一些東西,然後希望很簡單,最好不要動到系統設定,可以在不需要後完全不吃系統資源...

Plack 剛好提供了 Plack::App::CGIBin,可以接受 HTTP request 並丟給下面的程式...

跑起來的方式超簡單:

env -i /usr/local/bin/plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path")->to_app'

這樣會把 /path 下的東西當作 CGI script 跑...

不過 PHP 跑 CGI mode 超麻煩,並不是直接加上 #!/usr/bin/php-cgi 就能夠解決的,還沒找到要怎麼處理... (天曉得哪個環境變數又出問題了)

悅氏 黃金烏龍茶 (無糖) 600ml 寶特瓶包裝

喝下去第一口就有「哇靠,香料是放了多少啊」的感覺... 蓋起來丟回冰箱,哪天有心情喝這種東西的時候再說...

找不到圖,網路上大多數的圖都是 2000ml 的,而且旁邊有「無香料」的標語 (我喝的 600ml 在「成份」欄有「天然香料」),看起來不是同一批:

圖片來自「★超值特惠★悅氏黃金烏龍茶(無糖) 2L」這裡。

EC2 上的 FreeBSD 8.2-RC1...

Colin Percival 前陣子公佈了 EC2 上跑 FreeBSD 9.0-CURRENT 的 ami,當時測試覺得太慢了:「在 AWS EC2 上跑 FreeBSD」,昨天他在 Twitter 上提到把 FreeBSD 8.2-RC1 也 porting 上去了

FreeBSD 8.2-RC1 is now available on EC2 as ami-d29b6abb. http://www.daemonology.net/freebsd-on-ec2/ #merrychristmas

實際測試以後發現 8.2-RC1 還是很慢,跑 portsnap fetch 要等半個小時,跑 portsnap extract 也要再等半個小時,看起來是因為 EBS 的速度太慢?如果是這樣的話就得等非 t1.micro 的版本了 (因為 t1.micro 只能用 EBS 跑)。

以目前進度來看,8.2-RELEASE 會是第一個支援 EC2 的 production 版本?

推薦 Adblock Plus 的訂閱清單

Adblock Plus 一直都是 AMO (即 Mozilla Add-Ons,取其網址 addons.mozilla.org 的三個開頭字母) 下載排行榜第一名,除了可以自己設定以外,他好用在可以訂閱別人整理好的清單...

在 Adblock Plus 官方網站有提供一份列表「Known Adblock Plus subscriptions」,裡面有很多清單列表...

我個人建議訂閱三個:

  • EasyList (English):最基本的名單,當有誤判時也很快會更正。
  • ChinaList (汉语):逛大陸網站必備。
  • Malware Domains (malware protection):加減保護自己...

PNG 現況整理...

Does PNG work everywhere?」這篇文章把 PNG 的現況整理成表格,並且附上不少圖片範例可以看。表格包括在處理圖片常用的 Photoshop 軟體,以及常見的問題瀏覽器 IE 各版本。

如果不牽扯到 Gamma correctionICC profileMozilla FirefoxSafari (包括行動版本) 以及 Opera 對於不同格式的 PNG 都沒有什麼問題... 就這部份的結論是,IE6 只能用最基本的 PNG 格式,但如果同意讓 IE6 看到比較差的效果 (不是看不到),不少格式可以用。

另外作者也不斷地再推廣使用 PNG 最佳化程式處理 PNG 檔,以節省空間。文章後面的 Troubleshooting 以及 Summary 章節很值得仔細看過一次,在腦袋裡面留下印象...

加拿大的反垃圾郵件法案由 Opt-out 改成 Opt-in

在反垃圾郵件法案中提到的 Opt-out 是指「預設寄送,使用者可以選擇退出」,而 Opt-in 則是「預設不可以寄送,必須由使用者選擇加入」。這兩者最大的差異在於,Opt-out 後發信人就會知道這個信箱有人在看信,於是就把名單轉到境外發...

所以加拿大的法律從 Opt-out 改為 Opt-in 是很重要的進展:「Canada has An Opt-in Régime and a new Anti-spam Law」。

隔壁的美國到底要不要改呢...