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

CentOS6编译安装php5.3的更多相关文章

  1. CentOS6.3 编译安装LAMP(4):编译安装 PHP5.2.17

    所需源码包: /usr/local/src/PHP-5.2.17/libmcrypt-2.5.8.tar.gz /usr/local/src/PHP-5.2.17/mhash-0.9.9.9.tar. ...

  2. CentOS6.3 编译安装LAMP(4):编译安装 PHP5.3.27

    所需源码包: /usr/local/src/PHP-5.3.27/libmcrypt-2.5.8.tar.gz /usr/local/src/PHP-5.3.27/mhash-0.9.9.9.tar. ...

  3. 记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程

    买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...

  4. 在centos6编译安装http-2.4

    在centos6 编译安装httpd-2.4 安装httpd-2.4 Ü 依赖于apr-1.4+, apr-util-1.4+, [apr-iconv] Ü apr: : apache portabl ...

  5. php编译安装php-5.6

    #php编译安装php-5.6 ,Nginx+php使用 #!/bin/sh #php编译安装php-5.6 ,Nginx+php使用 #定义函数,默认绿色输出 '#' 开头为红色 function ...

  6. centos 7 min 编译安装php5.6+nginx1.7.5 笔记

    1.安装mysql请参照 centos 7 min 编译安装mysql5.6.20 笔记 2.编译安装php5.6+nginx1.7.5 2.1.安装php5.6.0 首先添加依赖应用yum inst ...

  7. 编译安装php-5.4.44

    编译安装php-5.4.44 1. 首先,安装必要的库文件,一面编译被打断: yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-de ...

  8. Mac OSX编译安装php5.6

    安装好OSX 10.13以后默认自带的php7.1.7,跟现有环境不兼容,所以准备编译安装php5.6,自带的php7不建议卸载,重新安装一份php5.6 1.安装php的一些依赖,推荐使用brew安 ...

  9. 【PHP升级】CentOS6.3编译安装 PHP5.4.38

    先前安装的PHP5.3.28(参考:CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28),现在准备升级PHP到5.4.38,有如下几个地方需要重新编译 ...

随机推荐

  1. 【Excel技能】字符串包含某字符串个数?替换许多组字符串?

    =len(单元格A)-len(substitute(单元格A,某字符串,)) 原理:将某字符串替换成空,前后字符串长即为减去的这个字符串长度,这个字符串出现个数=前后字符串长度之差/这个字符串长度 = ...

  2. uva-10085-搜索-最远状态的八数码

    直接bfs即可,取最后一个状态 #include <iostream> #include <stdio.h> #include <string> #include ...

  3. 3. java.lang.UnsupportedClassVersionError: javax/annotation/ManagedBean : Unsupported major.minor version 51.0

    问题描述:

  4. 线程池之 newScheduledThreadPool中scheduleAtFixedRate(四个参数)

    转自:https://blog.csdn.net/weixin_35756522/article/details/81707276 说明:在处理消费数据的时候,统计tps,需要用一个线程监控来获得tp ...

  5. nodejs爬虫设置动态userAgent

    动态 userAgent 这是我收集到的常用的浏览器头部信息,每次爬取的时候从中随机选取一个,并使用 superAgent 设置请求头部的 User-Agent 字段就好了. userAgent.js ...

  6. js把mysql传过来的时间格式化为:0000-00-00 00:00:00

    mysql传到前端的默认时间:2018-01-06T17:32:23+08:00 格式化的js代码 var time = '2018-01-06T17:32:23+08:00' var span = ...

  7. php7内核执行流程(转载留记录)

  8. python中split()、os.path.split()函数用法

    一.Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串 str.split(str="", num=string ...

  9. svn从本地更新了资源库的资源后删除了某个文件夹无法恢复(已解决)

    事件描述: 删除了本地svn的某个文件夹中的某个文件后,想要恢复,但是无法恢复,解决方法如下 步骤: 1:在删除的文件夹下右键,选择TortoiseSVN——>Revert... 2:选择需要恢 ...

  10. DOM节点的增删改查以及class属性的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...