CentOS 下编译安装PHP

1.  去php官网下载源码 ,我下载使用的版本是(php-5.4.8.tar.gz)

2.  安装环境

yum install xml2

2.  解压到/usr/src目录,执行命令:sudo tar -zxvf php-5.4.8.tar.gz -C /usr/src

3.执行./configure \

--prefix=/usr/local/php \

--with-mcrypt=/usr/local/libmcrypt \

--with-zlib --enable-mbstring \

--with-openssl \

--with-mysql \

--with-mysqli --with-mysql-sock \

--with-gd --with-jpeg-dir=/usr/lib \

--with-bz2 \

--with-pdo-mysql \

--with-gettext \

--with-curl \

--with-pdo-mysql \

--enable-sockets \

--enable-bcmath \

--enable-xml \

--enable-zip \

--enable-gd-native-ttf \

--enable-pdo \

--enable-fpm \

--enable-freetype

4.编译遇到问题:error: xml2-config not found.解决办法:

(1)去官网 下载源码。我用的版本是libxml2-2.9.0.tar.gz, 解压到/usr/src,执行命令:sudo tar -zxvf libxml2-2.9.0.tar.gz  -C /usr/src

(2)进入目录/usr/src/libxml2-2.9.0,在root下执行或者用sudo命令执行: sudo ./configure --prefix=/usr/local/libxml2/ ; make; make install

(3) 进入php目录中编译时加上--with-libxml-dir=/usr/local/libxml2

5.再次编译,遇到问题:checking if the location of ZLIB install directory is defined... no ; configure: error: Cannot find libz. 解决办法:

(1)去网址 下载zlib源码。我下的是版本zlib-1.2.7.tar.gz,解压到/usr/src,执行命令:sudo tar -zxvf zlib-1.2.7.tar.gz  -C /usr/src

(2)进入目录/usr/src/zlib-1.2.7/,执行命令:sudo ./configure --prefix=/usr/local/zlib;make;make install

(3)进入php目录中重新编译,增加新参数 --with-zlib-dir=/usr/local/zlib

6.再次编译,遇到问题:error: Please reinstall the BZip2 distribution. 解决办法:

(1)去网站 下载源码。我用的版本是bzip2-1.0.6.tar.gz,执行命令:sudo tar -zxvf bzip2-1.0.6.tar.gz -C /usr/src

(2)进入目录/usr/src/bzip2-1.0.6/,sudo方式执行:make;make install(下的源码中并没有configure)

(3)重新编译,不用增加新参数

7.再次编译,遇到问题:

checking if we should use cURL for url streams... no checking for cURL in default path... not found

configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/

解决办法是重装libcurl

(1)去网站 下载libcurl源码。我用的版本是curl-7.28.0.tar.gz,执行命令:sudo tar -zxvf curl-7.28.0.tar.gz -C /usr/src

(2)进入/usr/src/curl-7.28.0目录,用sudo执行命令:./configure --prefix=/usr/local/curl;make;make install

(3)重新编译php,增加参数--with-curl=/usr/local/curl

8.再次编译,遇到问题:configure: error: jpeglib.h not found. 解决办法:

(1)去网站 下载源码。我用的版本是jpegsrc.v8d.tar.gz,执行命令:sudo tar -zxvf jpegsrc.v8d.tar.gz -C /usr/src

(2)进入/usr/src/jpegsrc.v8d目录,sudo方式执行命令:sudo ./configure --prefix=/usr/local/jpeg;make;make install;

(3)重新编译php,增加参数--with-jpeg-dir=/usr/local/jpeg

9.再次编译,遇到问题:configure: error: png.h not found.

(1)去网站 下载源码,我用的版本是libpng-1.5.13.tar.gz,执行命令:sudo tar -zxvflibpng-1.5.13.tar.gz -C /usr/src

(2)进入/usr/src/libpng-1.5.13目录,sudo方式执行命令:sudo ./configure --prefix=/usr/local/png;make;make install;

(3)这时出现了configure: error: zlib not installed的错误,明明之前已经装过的,但是这里还是报错。在网上查了解决办法如下:

3.1)进入zlib的源文件目录(这里我的是/usr/src/zlib-1.2.7/),执行命令 make clean,清除zlib;

    3.2)重新配置 ./configure,后面不要接--prefix参数;

    3.3)make && make install;

    3.4)进入libpng目录(我的是/usr/src/libpng-1.5.13/),执行命令 ./configure --prefix=/usr/local/png;

    3.5)make && make install;

(4)重新编译php,这时增加参数--with-png-dir=/usr/local/png。

10.再次编译,遇到问题:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

(1)去网站 的下载源码,我下的版本是libmcrypt-2.5.7.tar.gz;执行命令:sudo tar -zxvf libmcrypt-2.5.7.tar.gz -C /usr/src

(2)进入/usr/src/libmcrypt-2.5.7目录,sudo方式执行命令:./configure prefix=/usr/local/libmcrypt/;make ;make install

(3)重新编译php,这时增加参数--with-mcrypt=/usr/local/libmcrypt

11.再次编译,就没有遇到问题了,虽然显示了configure: WARNING: unrecognized options: --enable-freetype,但结果依然是Thank you for using PHP. 此时的编译php的参数如下:

(1)sudo ./configure --prefix=/usr/local/php --enable-fpm  --with-zlib --enable-mbstring --with-openssl --with-mysql --with-mysqli --with-mysql-sock --with-gd --enable-gd-native-ttf  --enable-pdo --with-pdo-mysql --with-gettext --with-curl --with-pdo-mysql --enable-sockets --enable-bcmath --enable-xml --with-bz2 --enable-zip --enable-freetype --with-libxml-dir=/usr/local/libxml2 --with-zlib-dir=/usr/local/zlib --with-curl=/usr/local/curl --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-mcrypt=/usr/local/libmcrypt --with-apxs2=/usr/local/apache2/bin/apxs

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9d85a1738801da2c65ff0177c4b59e9b.html