PHP-5.5.38安装配置
检查并安装相关依赖包
[root@lnmp02 tools]# rpm -qazlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel
[root@lnmp02 tools]# rpm -qafreetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-devel pcrepcre-devel
[root@lnmp02 tools]# yum -yinstall zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel
[root@lnmp02 tools]# yum -yinstall freetype-devel libpng-devel gd-devel libcurl-devel libxslt libxslt-develpcre pcre-devel
注意yum源里无libiconv-devel包,需要用源码包单独安装
[root@lnmp02 tools]# wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
[root@lnmp02 tools]# tar zxvflibiconv-1.14.tar.gz
[root@lnmp02 tools]# cdlibiconv-1.14
[root@lnmp02 libiconv-1.14]#./configure --prefix=/usr/local/libiconv
[root@lnmp02 libiconv-1.14]#make
[root@lnmp02 libiconv-1.14]#make install
安装libmcrypt-devel、mcrypt、mhash、mhash-devel包,由于官方yum源里无此四个包,所以选择epel yum源安装
[root@lnmp02 ~]# wget -O/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo ###安装epel yum源,此yum源于官方的不冲突,官方找不到需要的包时,才会从epel里找相应的包
[root@lnmp02 ~]# yum -y installlibmcrypt-devel mcrypt mhash mhash-devel
编译安装PHP
[root@lnmp02 PHP-5.5.38]#./configure --prefix=/application/PHP-5.5.38 --with-MysqL=MysqLnd--with-iconv-dir=/usr/local/libiconv --with-freetype-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-soap --enable-short-tags--enable-static --with-xsl --with-fpm-user=Nginx --with-fpm-group=Nginx --enable-ftp
[root@lnmp02 PHP-5.5.38]# make
===============================================================================
编译过程中报错1:
/home/wangning/tools/PHP-5.5.38/sapi/cli/PHP:error while loading shared libraries: libMysqLclient.so.18: cannot open sharedobject file: No such file or directory
make: *** [ext/phar/phar.PHP]Error 127
[root@lnmp02 PHP-5.5.38]# ln -s/application/MysqL/lib/libMysqLclient.so.18/usr/lib64/
[root@lnmp02 PHP-5.5.38]# touchext/phar/phar.phar
或者
[root@lnmp02 PHP-5.5.38]# echo"/application/MysqL/lib">>/etc/ld.so.conf
[root@lnmp02 PHP-5.5.38]# ldconfig
编译过程中报错2:
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exitstatus
make: *** [sapi/fpm/PHP-fpm]Error 1
[root@lnmp02 PHP-5.5.38]# yum-y install libtool-ltdl-devel
===============================================================================
[root@lnmp02 PHP-5.5.38]# makeinstall
[root@lnmp02 PHP-5.5.38]# ln -s/application/PHP5.3.27/ /application/PHP
[root@lnmp02 PHP-5.5.38]# cpPHP.ini-production /application/PHP/lib/PHP.ini
[root@lnmp02 PHP-5.5.38]# cp/application/PHP/etc/PHP-fpm.conf.default /application/PHP/etc/PHP-fpm.conf
把配置好的PHP-fpm.conf上传到/application/PHP/etc目录下
PHP-fpm.conf见附件
[root@lnmp02 etc]# mkdir/app/logs -p ###创建logs目录,PHP-fpm.conf文件里定义的日志路径
[root@lnmp02 etc]#/application/PHP/sbin/PHP-fpm ###启动PHP服务
[root@lnmp02 etc]# ps -ef|grepPHP ###查看PHP进程
[root@lnmp02 etc]# lsof -i:9000 ###通过端口号查看PHP进程是否起来