01.PHP5.x编译详解

##PHP5.5编译安装

```

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

yum -y install libmcrypt-devel mhash mcrypt


mkdir -p /application/tools

cd /application/tools

wget  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make

make install

cd ../


cd /application/tools

tar xf php-5.5.38.tar.gz

cd php-5.5.38

./configure --prefix=/application/php5.5.38 --with-mysql=/application/mysql/ --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl  --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache


ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ 

touch ext/phar/phar.phar 

make && make install

ln -s /application/php5.5.38/ /application/php

cp /application/tools/php-5.5.38/php.ini-production  /application/php/lib/php.ini

cp /application/php/etc/php-fpm.conf.default  /application/php/etc/php-fpm.conf

/application/php/sbin/php-fpm

```

##PHP5.6.23编译安装


```

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

yum -y install libmcrypt-devel mhash mcrypt



cd /usr/local/src 

tar zxf php-5.6.23.tar.gz 

cd php-5.6.23

./configure --prefix=/usr/local/php-fastcgi5.6.23 --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-jpeg-dir --with-png-dir --with-zlib --enable-xml  --with-libxml-dir --with-curl --enable-bcmath --enable-shmop --enable-sysvsem  --enable-inline-optimization --enable-mbregex --with-openssl --enable-mbstring --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr/lib64 --with-gettext=/usr/lib64 --enable-sockets --with-xmlrpc --enable-zip --enable-soap --disable-debug --enable-opcache --enable-zip --with-config-file-path=/usr/local/php-fastcgi/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www && make && make install


内存小于一个G,在最后加上。

--disable-fileinfo

```


##PHP5.3.27编译安装


```

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

yum -y install libmcrypt-devel mhash mcrypt


mkdir -p /application/tools

cd /application/tools

wget  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make

make install

cd ../


cd /usr/local/src

tar xf php-5.3.27.tar.gz

cd php-5.3.27

./configure --prefix=/usr/local/php5.3.27 --with-mysql=/usr/local/mysql/ --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp

ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/ 

touch ext/phar/phar.phar 

make && make install

ln -s /usr/local/php5.3.27/ /usr/local/php

cp /usr/local/src/php-5.3.27/php.ini-production  /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf

/usr/local/php/sbin/php-fpm



##PHP5.3.27编译参数详解

[root@lnmp01 tools]# tar xf php-5.3.27.tar.gz解压压缩包

[root@lnmp01 tools]# cd php-5.3.27 进入php安装目录

./configure 编译参数

--prefix=/application/php5.3.27 指定php的安装路径为/application/php5.3.27

--with-mysql=/application/mysql/  需要指定mysql的安装路径,安装PHP需要的MySQL相关内容。当然如果没有MySQL软件包,也可以不单独安装,这样的情况可使用--with-mysql=mysqlnd替代--with-mysql=/application/mysql,因为PHP软件里面已经自带连接MySQL的客户端工具。

--with-iconv-dir=/usr/local/libiconv libiconv库,各种字符集间的转换

--with-freetype-dir 打开对freetype字体库支持

--with-jpeg-dir 打开对jpeg图片的支持

--with-png-dir 打开对png图片的支持

--with-zlib 打开zlib库的支持,用于http压缩传输

--with-libxml-dir=/usr 打开libxml2库的支持

--enable-xml

--disable-rpath 关闭额外的运行库文件

--enable-safe-mode 打开安全模式

--enable-bcmath 打开图片大小调整,用zabbix监控时会用到该模块

--enable-shmop 

--enable-sysvsem 使用sysv信号机制,则打开此选项

--enable-inline-optimization 优化线程

--with-curl 打开curl浏览工具的支持

--with-curlwrappers 运维curl工具打开url流

--enable-mbregex

--enable-mbstring 支持mbstring

--with-mcrypt 编码函数库

--with-gd 打开gd库的支持

--enable-gd-native-ttf 支持TrueType字符串函数库

--with-openssl openssl的支持,加密传输时用到

--with-mhash mhash算法的扩展

--enable-pcntl freeTDS需要用到,可能是链接mssql

--enable-sockets 打开sockets支持

--with-xmlrpc 打开xml-rpc的c语言

--enable-zip 打开对zip的支持

--enable-soap soap模块的扩展

--enable-short-tags 开始和标记函数

--enable-zend-multibyte 支持zend的多字节

--enable-static 生成静态链接库

--with-xsl 打开XSLT文件支持,扩展libXML2库,需要libxslt软件

--enable-ftp 打开ftp的支持

--enable-fpm 表示激活PHP-FPM方式服务,即FactCGI方式运行PHP服务。

--with-fpm-user=www 指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一。

--with-fpm-group=www 指定PHP-FPM进程管理用户组为www,此处最好和Nginx服务用户组统一。

 [root@lnmp01 php]# ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/ 软链接

[root@lnmp01 php]# touch ext/phar/phar.phar  创建php安装需要文件

[root@lnmp01 php]# make && make install 编译安装

[root@lnmp01 php]# ln -s /application/php5.3.27/ /application/php 链接去版本(方便升级及后续维护)

[root@lnmp01 php]# cp /application/tools/php-5.3.27/php.ini-production  /application/php/lib/php.ini 拷贝php.ini需要配置文件

[root@lnmp01 php]# cp /application/php/etc/php-fpm.conf.default  /application/php/etc/php-fpm.conf 拷贝php-fpm配置文件

[root@lnmp01 php]# /application/php/sbin/php-fpm 启动php-fpm

```



原文地址:https://www.cnblogs.com/xuliangwei/p/6395488.html