一、CentOS6编译安装php5.3
1、安装扩展
yum install -y openssl-devel traceroute libtool unzip gcc gcc-c++ autoconf net-snmp-devel vim wget sysstat lrzsz man tree mysql-devel ntpdate rsync libxml2 libcurl libcurl-devel libxml2-devel zlib zlib-devel libjpeg* pcre-devel gd gd-devel bind-utils
2、下载PHP-FPM5.6
http://museum.php.net/php5/ 这个地址内包含了几乎所有的PHP版本,我们从中选择 https://museum.php.net/php5/php-5.6.2.tar.gz
cd /usr/local/src
wget https://museum.php.net/php5/php-5.6.2.tar.gz
tar zxvf php-5.6.2.tar.gz
3、安装各种库
cd /usr/local/src
wget http://mirror.hust.edu.cn/gnu/libiconv/libiconv-1.10.tar.gz
tar zxvf libiconv-1.10.tar.gz
cd libiconv-1.10
./configure --prefix=/usr/local/libiconv
make
make install
yum install -y libjpeg-devel
yum install -y libpng-devel
yum install -y epel-release
yum install -y libmcrypt-devel
因为CentOs6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装libmcrypt。
4、编译安装PHP
这里要注意/usr/local/php5.6.2 是PHP的安装路径 ,可以根据需要修改
'./configure' '--prefix=/usr/local/php5.6.2' '--with-config-file-path=/usr/local/php5.6.2/etc' '--with-iconv=/usr/local/libiconv' '--enable-fpm' '--with-libxml-dir' '--with-zlib' '--with-curl' '--enable-dba' '--enable-ftp' '--with-freetype-dir' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib-dir' '--enable-gd-native-ttf' '--with-gettext' '--enable-mbstring' '--with-mcrypt' '--with-mysql' '--with-mysqli' '--enable-pcntl' '--with-pdo-mysql' '--without-pdo-sqlite' '--enable-shmop' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-zip'
有找不到库,就安装对应库
make
make install
5、配置php
将源码包里的php.ini-production复制到安装目录下,并更名php.ini
cd /usr/local/src/php-5.6.2
cp php.ini-production /usr/local/php5.6.2/etc/php.ini
将安装目录下的php-fpm.conf.default复制并更名php-fpm.conf
cd /usr/local/php5.6.2/etc/
cp php-fpm.conf.default php-fpm.conf
6、启动php
cd /usr/local/php5.6.2/sbin
./php-fpm
7、查看
netstat -tunlp|grep 9000
8、关闭
killall php-fpm
9、设置为服务
cd /etc/init.d
将源码包里的init.d.php-fpm复制并更名pph-fpm
cp /usr/local/src/php-5.6.2/sapi/fpm/init.d.php-fpm php-fpm
设置权限
chmod a+x php-fpm
cd /usr/local/php5.6.2/etc
打开使用pid文件配置参数
vi php-fpm.conf
找到pid = run/php-fpm.pid,去掉前面注释
ps -ef|grep php-fpm
找到master process对应的进程号,关闭php
kill -USR2 进程号
重启php,会自动生成php-fpm.pid文件.
service php-fpm start
关闭php,成功
service php-fpm stop
将服务添加到chkconfig列表,设置开机启动
chkconfig --add php-fpm
chkconfig php-fpm on
10、安装PHP的扩展bcmath
cd /usr/local/src/php-5.6.2/ext/bcmath
执行
/usr/local/php5.6.2/bin/phpize
执行这个命令后会在当前目录下生产一些configure文件
编译
./configure --with-php-config=/usr/local/php5.6.2/bin/php-config
make
make install