Month: April 2015

Laravel: failed to open stream: Too many open files

Posted by – April 24, 2015

Office Worker with Mountain of Paperwork公司的 Team 開發的產品也越來越龐大了,API 的部份依賴 Laravel 內建整合的 PHPUnit 來進行自動化測試。

這回從 git repo 上拉了新的 code 後,照慣例跑一下 phpunit,然後就掛了...

PHP Warning: failed to open stream: Too many open files

好像沒見過這樣的訊息。Google 一下才知道是踩到了 Mac OS 檔案開啟上限的地雷。

$ ulimit -a # 這個指令可以看系統限制
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256 # 這行
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

ulimit -n 1024 臨時改為 1024 就可以正常跑完測試了。一時好奇借了同事的電腦看看,都是 Macbook Air (with Yosemite),其他人的 open files 值是 2560 耶,為什麼我的只有 256 ??? 不解。

Smooth Touch Scrolling in iOS with -webkit-overflow-scrolling

Posted by – April 17, 2015

在開發一個兼容 iPad 的網站專案時,發現 <div style="overflow: scroll;"> 在 iOS 下捲動很不順暢,手感很糟糕。好奇地搜尋了一下,找到一個 webkit 特有的語法:-webkit-overflow-scrolling: touch。加上這個屬性後,在 iOS Safari 上連回彈的效果都出來,手感與原生程式無異。

可惜 Android 上的 Chrome 似乎沒有作用,有點希望這屬性能成為正式語法。

範例先丟在 Codepen,不過看來要註冊才能 embed,先醬。
http://codepen.io/anon/pen/oXvjvJ