什麼是ThinkSNS ?php
ThinkSNS(簡稱TS),一款全平臺綜合性社交系統,爲國內外大中小企業和創業者提供社會化軟件研發及技術解決方案,目前最新版本爲ThinkSNS+(簡稱TS+)、ThinkSNS V四、ThinkSNS【簡】。社交系統ThinkSNS團隊擁有超過九年的移動互聯網軟件/網站/APP開發經驗,涉及行業:粉絲社羣、直播互動、移動醫療、電子商務、生活服務、在線教育、旅遊出行、移動辦公、電子雜誌、休閒娛樂、企業信息等。咱們的服務包括快速建站、提供技術及產品解決方案、技術支持維護,除此以外,若是你軟件方案足夠好,咱們還能提供技術孵化服務,同時,咱們也提供TS的二次開發服務以及網站開發、Android APP開發、iOS APP開發、H5開發、微信公衆號開發、小程序開發等定製開發服務。git
這是 https://github.com/overtrue/pinyin 首頁 README 中的持續集成狀態。github
以前有朋友問我,這個 travis 狀態時 error 能用麼?確定是能用,咱們來看下 travis 上什麼地方錯誤了:小程序
已經顯示出來了,其中單元測試失敗的是 php 5.5 和 php 5.6 咱們隨便點擊一個進去看看
微信
超過 10m 沒有收到輸出,因此 travis 認爲構建是有問題的。其實吧~確實有問題,我的也苦惱了好久,沒有收到輸出的構建是 tests/GeneratorFileDictLoaderTest.php 這個測試類測試的是 Overtrue\Pinyin\GeneratorFileDictLoader 這個加載器。單元測試
解釋下這個加載器,由於拼音庫是基於詞庫的,而詞庫很是大,在不少場景下內存中是不容許載入這麼多的數據的。因此這個加載器利用 php5.5+ 的 Generator (生成器)特性來生成數據,而生成數據的代價就是須要大量的磁盤 IO 以及增長 >90% 的容許時間。(PHP 官方文檔中有說明)。測試
travis 認爲構建失敗緣由:這個問題自己可能存在於 PHP 5.5 & 5.6 的文件系統(看 PHP 改動日誌是有改動的)形成了假死,再加上 travis 自己 IO 能力比較低。因此形成生成器同時打開多個文件流以後就假死了。網站
額~我是來搞笑的。。。。並不知道如何解決構建失敗的問題,這個問題我曾經 fork 超哥的庫該代碼,也並無找到好的解決方法。日誌
可能刪除這種「生成器」加載器會好吧blog
其實我特意發這篇文章,是想讓超哥看到,研究下怎麼讓構建跑通