一、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