近日發現了一個很有用的PHP擴展,它可以讓PHP直接執行C代碼,無需編譯。TCC(Tiny C Compiler)是一個C編譯器,支持直接執行C源代碼。
關於TCC的介紹這裡不多說,剛開始在32位Ubuntu下安裝,很順利就裝了,不過在64位CentOS上安裝時卻遇到很多錯誤,花了差不多半天的時間終於搞定了。
下面詳細講一下我在64們CentOS上安裝tcc 的 php擴展中遇到的問題以及解決辦法
一、安裝TCC編譯器
從官網 http://bellard.org/tcc/ 下載源碼,編譯安裝。
注意不要直接從官網那裡下載源碼,那裡的代碼在make編譯完,執行make test 時會報錯,如下:
需要直接從版本庫中下載已經修復此錯誤的版本,可以下載最新的
版本庫地址 http://repo.or.cz/w/tinycc.git
我下載的文件是2012-04-18日提交的版本,命令如下:
下面我們要編輯一下Makefile文件,不然後面安裝php_tcc模塊時編譯會無法通過
找到 ”libtcc.a: $(LIBTCC_OBJ)“ 所在行的上一行
代碼應該是
將這一行的最後加上 "-fPIC”,即改為
保存退出
中間可能會報 make: texi2html: Command not found
這個是生成html幫助文檔的,可以忽略,需要的話可以先 texi2html 然後重新make
沒有make錯誤就繼續執行下面命令