當我們在 HHVM 的環境下執行curl操作時(例如 composer),很容易出現這樣的錯誤訊息:
SlowTimer [5001ms] at curl: https://packagist.org/p/provider-active$2f0252314dbbe5cb68caf8e0fa2209a2a654aab9628231c6ba4d72b06f66e9d5.json
這是因為HHVM預設的curl最低連線時間較短造成的。我們需要在執行 composer 時增加兩個設定:
ResourceLimit.SocketDefaultTimeout=30 # in seconds
Http.SlowQueryThreshold=30000 # in milliseconds (took me half an hour to figure this one out)
例如這樣執行 composer update
:
hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 /usr/local/bin/composer update
就可以正常運作了。我們可以用這個方法加上 composer 的 alias:
alias composer="hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 /usr/local/bin/composer"
這樣未來就不用輸入這麼長的字串囉。
參考來源: Speed up Composer by using HHVM, including a SlowTimer error fix