原始碼編譯PHP5

2021-08-30 12:16:52 字數 1392 閱讀 8239

[size=medium]各種庫,php程式都安裝在/home/opt下

php版本5.2.13

php執行環境是mysql,apache,當然fastcgi也可以

假設mysql,apache的安裝路徑為$mysql,$apache

自己安裝的程式我一般安裝在/home/opt下

linux下原始碼編譯安裝php還是挺複雜的,需要信賴很多外部程式類,比如gd圖形類

所以安裝php之前須先將這些類庫安裝好

一.首先安裝gd這個大塊頭

安裝gd這個大塊頭之前須先安裝很多其他類,

如zlib,libpng,freetype,jpegsrc.v6,libxml2,fontconfig

而且他們的順序也很重要

主要寫一些可能出現問題類庫的安裝

1.libpng

應該先#cp scripts/makefile.linux ./makefile

2. jpegsr.v6

須先在安裝目錄下建立bin,lib,include,man,man/man1

configure時要加上 --enable-shared --enable-static

3.fontconfig

會提示找不到libxml2,儘管已安裝

可以先#export pkg_config_path=/home/opt/libxml2/lib/pkgconfig:$pkg_config_path

再config

#./configure --prefix=/home/opt/fontconfig --with-freetype-config=/home/opt/freetype/bin/freetype-config

最後才到gd

libpng已經將png_check_sig(sig,8)函式改為了png_sig_cmp(sig,0,8),

所以需要修改 gd_png.c 將png_check_sig(sig,8)改為png_sig_cmp(sig,0,8)

編譯才能成功

以前也試過不用改都成功的,但是安裝php時才提示這個錯誤

./configure --prefix=/home/opt/gd --with-png=/home/opt/libpng --with-freetype=/home/opt/freetype --with-jpeg=/home/opt/libjpeg --with-fontconfig=/home/opt/fontconfig

二.安裝mcrypt

mcrypt又信賴於libmcrypt,mhash

可能人品不行,mcrypt一直提示找不到libmcrypt,

用了網上的很多方法都不行,

都說用export ld_libary_path=/usr/local ./configure

[/size]

PHP5下單獨編譯php模組

正好要安裝cacti的時候,突然發現,php的snmp支援模組沒有新增,也沒有靜態編譯到php中。突然想到作為模組當然應該是能單獨編譯。以增加zip解壓壓縮支援模組為例子。進入已經安裝了的php的對應原始碼目錄 例如我的php安裝在了 usr local php 5.3.0下,原始碼目錄是 usr ...

PHP5下單獨編譯php模組

正好要安裝cacti的時候,突然發現,php的snmp支援模組沒有新增,也沒有靜態編譯到php中。突然想到作為模組當然應該是能單獨編譯。以增加zip解壓壓縮支援模組為例子。進入已經安裝了的php的對應原始碼目錄 例如我的php安裝在了 usr local php 5.3.0下,原始碼目錄是 usr ...

編譯php5的MySQL的問題

php5時出現如上 checking for mysql unix socket location.tmp mysql.sock configure error cannot find mysql header files under yes.note that the mysql client l...