歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 64位Linux環境安裝PHP TCC 擴展方法

64位Linux環境安裝PHP TCC 擴展方法

日期:2017/2/28 15:50:13   编辑:Linux教程

近日發現了一個很有用的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 時會報錯,如下:

  1. ------------ test3 ------------
  2. ../tcc -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -run tcctest.c > test.out3
  3. tcc: undefined symbol 'alloca'
  4. make[1]: *** [test3] Error 255

需要直接從版本庫中下載已經修復此錯誤的版本,可以下載最新的

  1. wget http://repo.or.cz/w/tinycc.git/snapshot/f98c2306a0857ad3f8800f91e0554a27adc7f675.tar.gz
  2. tar -zxvf f98c2306a0857ad3f8800f91e0554a27adc7f675.tar.gz
  3. cd tinycc
  4. ./configure --prefix=/usr

版本庫地址 http://repo.or.cz/w/tinycc.git

我下載的文件是2012-04-18日提交的版本,命令如下:

下面我們要編輯一下Makefile文件,不然後面安裝php_tcc模塊時編譯會無法通過

  1. vim Makefile

找到 ”libtcc.a: $(LIBTCC_OBJ)“ 所在行的上一行

代碼應該是

  1. $(CC) -o $@ -c $< $(NATIVE_DEFINES) $(CFLAGS)

將這一行的最後加上 "-fPIC”,即改為

  1. $(CC) -o $@ -c $< $(NATIVE_DEFINES) $(CFLAGS) -fPIC

保存退出

  1. make

中間可能會報 make: texi2html: Command not found

這個是生成html幫助文檔的,可以忽略,需要的話可以先 texi2html 然後重新make

  1. yum install texi2html

沒有make錯誤就繼續執行下面命令

  1. make test
  2. make install
Copyright © Linux教程網 All Rights Reserved