1 首先,把这几个包给下下来,libiconv-1.13.1.tar.gz libmcrypt-2.5.8.tar.bz2 mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.bz2 php-5.3.6.tar.bz2 这些包都是安装PHP所需要的相关库。如果不安装,将无法编译成功。
2 tar zxf libiconv-1.13.1.tar.gz cd libiconv-1.13.1 ./configure --libdir=/usr/local/lib64/ make make install ldconfig /usr/local/lib64/ #安装libiconv组件。(可以支持不同编码的转换)
3 tar tar -jxf libmcrypt-2.5.8.tar.bz2 cd libmcrypt-2.5.8 /configure --libdir=/usr/local/lib64/ --enable-ltdl-install ; make ; make install ; ldconfig -n /usr/local/lib64/ ; #加密算法拓展库。
4 tar -jxf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure --libdir=/usr/local/lib64/ make make install ldconfig /usr/local/lib64/ ; ldconfig /usr/local/lib64/ #mhash是PHP的加密算法拓展库。 ldconfig生成动态链接库
5 tar zxf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 ./configure --libdir=/usr/lib/lib64/ make make install #mcrypt也是PHP的加密算法拓展库
6 yum install net-snmp-devel curl-devel libxml2-devel libpng-devel libjpeg-devel freetype-devel gmp-devel openldap-devel #安装PHP所需要的相关组件开发包。
7 useradd -M -s /sbin/nologin nginx #创建nginx用户,用来运行PHP以及nginx程序。
8 tar -jxf php-5.3.6.tar.bz2
9 cd php-5.3.6
10 yum install gd-devel #安装GD图形工具库开发包
11 cd /usr/local/lnmp/mysql/ ln -s lib lib64 如果没有lin64文件夹,可以把lib链接过来。
12 ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysql=/usr/local/lnmp/mysql/ --with-openssl --with-snmp --with-gd --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --without-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-libdir=lib64 --with-ldap --with-ldap-sasl --with-mcrypt --with-mhash make ZEND_EXTRA_LIBS='-liconv' make install #安装PHP并指定一些配置参数。
13 cp php.ini-production /usr/local/lnmp/php/etc/ cd /usr/local/lnmp/php/etc/ mv php.ini-production php.ini #把样本配置文件复制到对应目录下,并重新命名
14 cd /mnt/lnmp/php-5.3.6/sapi/fpm/ cp init.d.php-fpm /etc/init.d/php-fpm cd /etc/init.d/ chmod u x php-fpm #把PHP的启动脚本复制到/etc/init.d/目录下,并赋予可执行权限。
15 cd /usr/local/lnmp/php/etc/ vim php.ini 修改PHP的配置文件如下:
cgi.fix_pathinfo=0 #用来防止Nginx文件类型错误解析漏洞
16 cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf #修改php-fpm的配置文件如下:
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
pid = run/php-fpm.pid
17 vim ~/.bash_profile #把PHP的相关参数的绝对路径添加到环境变量PATH中。
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin/
18 source ~/.bash_profile #使添加的环境变量生效。