ScarShow

< IS >

接續

我前天說到我要找時間查查到底是什麼原因造成PHPSegmentation Fault,我想本篇文章的標題已經指名原因了,那我就結束這回合

當然我還是在這邊紀錄一下流程以及解決方法,然後在除錯的過程中還順便解了一個PHPBrewBug,這個Bug就是關於./configure找不到libpcre(.a|.so)的問題,原因是出在於系統架構的判斷。

先不管這個,我之前說過只要preg_match()只要輸入的字串一長就會發生錯誤,所以我們朝PCRE Library進行。

怪事

在開發Pointless到現在的兩年期間內,初期其實都還算順利,直到最近幾個月遇到了兩次Segmentation Fault,終於我遇的不是PHPSyntax Error,而是PHPBugs或是其中函式庫的問題。

寫直譯式語言可以遇到語言的錯誤還滿猛的,一次是在OS X上用PHPBrew編出的PHP,另一次就是最近在Ubuntu 13.10Ubuntu 12.04 LTS上還是用PHPBrew所編出的PHP

題外話,話說PHPBrew超好用的,可以在不同版本的下作切換,對於開發來說實在是很棒。

難得

很難得可以在一天內發兩篇文章,在上一篇文末提到WebGL打不開的問題,那是個誤會,真的。

Chromechrome://flags裡有一個選項Override software rendering list可以開啟硬體加速,在更新驅動程式前我怎樣試都不行,所以我就以為沒有用。

其實在驅動程式更新之後就已經可以使用了,只是硬體加速還要另外開啟,讓我產生WebGL無法開啟的錯覺。

不解

不知道為什麼,只要碰到顯示卡驅動程式的安裝,我就很容易讓我的機器爆炸,這一定有問題,所以還是趕快把這次成功安裝的過程記錄下來,避免之後又爆了。

安裝驅動有這麼難嗎?很難,因為每次都爆炸XD

平常我也不想去更新的我的顯示卡驅動,但是Chrome告訴我ATI/AMD cards with older or third-party drivers,我只是想開啟WebGL而已,為了能夠用WebGL還是更新吧。

原本oh-my-zshUbuntu 12.04 LTS以及Arch Linux用好好的history-search-backwardhistory-search-forward,到了Ubuntu 13.10就不能用了,查了一下ZSH雖然版號不一樣,不知道是不是因為發行版影響,因為Arch LinuxZSH版本還比Ubuntu 13.10新。

下面是各個發行版的Z Shell版號。

Ubuntu 12.04 LTS : 4.3.17
Ubuntu 12.10     : 5.0.0
Ubuntu 13.04     : 5.0.0
Ubuntu 13.10     : 5.0.2
Arch Linux       : 5.0.5