系统环境:centos6.5
PHP包:5.5.15
https://wiki.swoole.com/wiki/page/177.html
下载 PHP 源码包
wget http://cn2.php.net/distributions/php-5.5.15.tar.bz2
tar xf php-5.5.15.tar.bz2 -C /usr/local/src/

配置文件:     /usr/local/php/etc/php-fpm.conf
配置pid:    /var/run/php-fpm/php-fpm.pid
错误日志:error_log=/var/log/php-fpm.log
            /etc/php.ini

添加 epel 源
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel
openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel

创建 www 用户
groupadd www
useradd -g www -s /sbin/nologin -M www

编译安装
cd /usr/local/src/php-5.5.15/
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=/usr/local/mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline \
--without-sqlite3 \
--without-pdo-sqlite \
--with-pear

你的 Web Server
使用的 Apache 请添加类似:
--with-apxs2=/usr/local/apache/bin/apxs 参数

--prefix=/usr/local/php \            安装路径
--with-config-file-path=/etc \        php.ini配置文件路径
--enable-inline-optimization \        优化项
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \                    启用 opcache,默认为 ZendOptimizer+(ZendOpcache)
--enable-fpm \                        FPM
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \                 MySQL
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \                    国际化与字符编码支持
--enable-mbstring \
--with-iconv \
--with-mcrypt \                        加密扩展
--with-mhash \
--with-openssl \
--enable-bcmath \                    数学扩展
--enable-soap \                         Web 服务,soap 依赖 libxml
--with-libxml-dir \
--enable-pcntl \                    进程,信号及内存
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \                    socket & curl
--with-curl \
--with-zlib \                        压缩与归档
--enable-zip \
--with-bz2 \
--with-readline \                    GNU Readline 命令行快捷键绑定
--without-sqlite3 \
--without-pdo-sqlite \
--with-pear                            更多 PHP 扩展与应用库

编译安装
 make -j4
 make install
 
 重新安装:
# make clean
# make clean all

# ./configure ...
# make -j4
# make install

配置 PHP

配置文件
# cp php.ini-development /etc/php.ini
php-fpm 服务
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
启动 php-fpm
# service php-fpm start
Starting php-fpm  done

vi ~/.bash_profile
PATH=$PATH:$HOME/bin
改为:
PATH=$PATH:$HOME/bin:/usr/local/php/bin

使 PHP 环境变量生效:# . ~/.bash_profile

查看看 PHP 版本:php -v

设置开机自启
echo service php-fpm start >> /etc/rc.local
rc.local 也可能出现在/etc/init.d的目录下

添加 yum 源

CentOS 6.x 的源

# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装 PHP

# yum install --enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel
php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug
php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process
php-gd php-common
安装5.6版本为remi-php56,安装5.5版本为remi-php55
在Linux中将php-fpm配置成服务的方法

1.配置php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid
2.拷贝php-fpm脚本至/etc/init.d目录
cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
3.设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig –add php-fpm
最后,给出php-fpm以服务的方式启动、停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload

查看版本信息
php -v

php安装bcmath模块
1  yum -y install php-bcmath
  find / -name bcmath.so
2  找到php的配置文件
php -i |grep php.ini
加入代码:extension=bcmath.so
3运行php-m 如果出现
php warning: Module 'bcmath' already loaded in unknow on line 0
说明多次加载了bcmath模块,步骤二不用了。

遇到安装版本库文件失败的情况:
安装高版本的php:使用yum源,启用remi-php56,安装扩展时候报错:
1 yum -y install php-gd --skip-broken

2yum源的问题,选择的yum源和系统版本对不上
yum clean all
rpm --rebuilddb
yum update
或者换个yum源
yum install php-gd --enablerepo=remi-php56

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

  1. 编译安装php5 解决编译安装的php加载不了gd

    1. 编译安装php需要的模块: yum install libxml2-devel libxml2  curl curl-devel  libpng-devel  libpng  openssl o ...

  2. php5.4编译安装--nginx

    1.下载源码包 wget 网址/源码包2.解压源码包 tar -zxvf 源码包3.创建一个安装目录 mkdir /usr/local/php4.进入解压后的目录中,初始化安装环境./configur ...

  3. php5.6编译安装apache

    1.下载源码包wget 网址/php-5.6.30.tar.gz2.解压源码包tar -zxvf php-5.6.30.tar.gz3.创建一个安装目录mkdir /usr/local/php4.进入 ...

  4. php5.4编译安装apache

    1.下载源码包 wget 网址/php-5.4.45.tar2.解压源码包 tar -zxvf php-5.4.45.tar3.创建一个安装目录 mkdir /usr/local/php4.进入解压后 ...

  5. 01.PHP5.x编译详解

    ##PHP5.5编译安装 ``` wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum i ...

  6. centos6编译安装zabbix3.0和中文支持整理文档

    编者按: 最近公司部分业务迁移机房,为了更方便的监控管理主机资源,决定上线zabbix监控平台.运维人员使用2.4版本的进行部署,个人在业余时间尝鲜,使用zabbix3.0进行部署,整理文档如下,仅供 ...

  7. PHP编译安装系列

    徐亮伟, 江湖人称标杆徐.多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作.擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工作. 个人博客"徐亮伟架构师之路&quo ...

  8. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  9. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

随机推荐

  1. Linux下用matplotlib画决策树

    1.trees = {'no surfacing': { 0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}} 2.从我的文件trees.txt里读的决策树, ...

  2. 解决spring boot websocket

    在网上找的demo写了一个小例子,本地开发测试都很正常,但是部署在tomcat就各种坑 1.MyWebSocket不要用spring 注解标注 2.main方法对应的类继承SpringBootServ ...

  3. H+后台主题UI框架---整理(二)

    本篇文章是针对H+后台主题UI框架的整理的第二部分.主要只有一个point.如下: 其代码如下: <div class="ibox float-e-margins"> ...

  4. CF750D New Year and Fireworks

    题意: 放烟花. 一个烟花从某一起点开始,沿着当前方向移动指定数量的格子之后爆炸分成两部分,分别沿着当前方向的左上和右上方向移动.而每一部分再沿着当前方向移动指定数量的格子之后爆炸分成两部分.如此递归 ...

  5. 如何优化APK的大小

    项目使用AS打出的包明显比Eclipse打出的包要大一些,还是蛮费解.于是百度了一翻, 原来Eclipse使用的proguard能够遍历所有的java代码,把无用的代码去掉才生成dex文件,同 时对r ...

  6. VCS filelist 文件格式

    VCS在运行仿真一般都会加仿真参数 –f filelist,filelist 是包含其他的仿真参数和整个工程的文件列表.具体格式如下: //file list format, just for exa ...

  7. General mistakes in parallel computing

    这是2013年写的一篇旧文,放在gegahost.net上面  http://raison.gegahost.net/?p=97 March 11, 2013 General mistakes in ...

  8. 在DLL中创建窗口时一个值得注意的地方 — UnregisterClass

    背景描述: 今天要测试一份注入代码,拿以前写的创建窗口的DLL来做测试. 第一次注入时一切正常,窗口被成功创建并显示,但在第二次加载时窗口没有显示出来. 经过研究发现在第二次加载DLL时Registe ...

  9. Zabbix使用外部命令fping处理ICMP ping的请求

    Zabbix使用外部命令fping处理ICMP ping的请求,fping不包含在zabbix的发行版本中,需要额外去下载安装fping程序, 安装完毕之后需要在zabinx_server.conf中 ...

  10. SpringBoot集成FastDFS+Nginx整合基于Token的防盗链

    为什么要用SpringBoot? SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...