下载 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/

添加 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=/usr/local/php/etc \

--enable-inline-optimization \

--disable-debug \

--disable-rpath \

--enable-shared \

--enable-opcache \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--with-mysql=mysqlnd \

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

参数说明:

""" 安装路径 """

--prefix=/usr/local/php \

""" php.ini 配置文件路径 """

--with-config-file-path=/etc \

""" 优化选项 """

--enable-inline-optimization \

--disable-debug \

--disable-rpath \

--enable-shared \

""" 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """

--enable-opcache \

""" FPM """

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

""" MySQL """

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

""" 国际化与字符编码支持 """

--with-gettext \

--enable-mbstring \

--with-iconv \

""" 加密扩展 """

--with-mcrypt \

--with-mhash \

--with-openssl \

""" 数学扩展 """

--enable-bcmath \

""" Web 服务,soap 依赖 libxml """

--enable-soap \

--with-libxml-dir \

""" 进程,信号及内存 """

--enable-pcntl \

--enable-shmop \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

""" socket & curl """

--enable-sockets \

--with-curl \

""" 压缩与归档 """

--with-zlib \

--enable-zip \

--with-bz2 \

""" GNU Readline 命令行快捷键绑定 """

--with-readline \

""" 禁用 SQLite 支持扩展 """

--without-sqlite3 \

--without-pdo-sqlite \

""" 更多 PHP 扩展与应用库 """

--with-pear

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

关于 mysqlnd 请查看 什么是 PHP 的 MySQL Native 驱动? 或查看 MySQL 官方介绍:MySQL native driver for PHP, 或 Installation on Unix

更多编译参数请使用 ./configure --help 查看。

# make -j4[H1]

# make install

php 的编译时需要依赖pear package ,目前的问题错误"PEAR package PHP_Archive not installed",已经明显报出这个问题。 
因此编译使用参数 --without-pear   将pear 屏蔽掉编译安装后,再进行安装;同时因为phar 属于pear的一个库 ,所以不将phar关闭掉,同时还会报这个错误, 
同时需要使用 --disable-phar   编译参数.

./configure --without-pear  --disable-phar
make
make install

成功编译安装完成后,再安装pear

wget  http://pear.php.net/go-pear.phar 
/usr/local/bin/php go-pear.phar

如果想重新安装:

# 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

php-fpm 可用参数 start|stop|force-quit|restart|reload|status

添加 PHP 命令到环境变量

编辑 ~/.bash_profile,将:

PATH=$PATH:$HOME/bin

改为:

PATH=$PATH:$HOME/bin:/usr/local/php/bin

使 PHP 环境变量生效:

# . ~/.bash_profile

查看看 PHP 版本

# php -v

PHP 5.5.15 (cli) (built: Aug  3 2014 02:43:38)

Copyright (c) 1997-2014 The PHP Group

Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies


[H1]多核编译,加快make编译速度

转:php 5.5源码安装全过程的更多相关文章

  1. centos下mysql 5源码安装全过程记录

    参考:http://blog.csdn.net/mycwq/article/details/24488691 安装cmake,mysql 5.5以后的版本要通过cmake进行编译 在新装的CentOS ...

  2. PostGreSQL(1)-源码安装

    目录 简述 一.格式化磁盘 二.源码安装 PostGreSql 1. 安装 readline-devel 2. 安装 PostGresql 3. 设置环境变量 三. 初始化 1. 设置运行用户 2. ...

  3. 源码安装mysql5.6.37

    MYSQL 源码安装: 修改参数文件:vi /etc/security/limits.confmysql soft nproc 2047mysql hard nproc 16384mysql soft ...

  4. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  5. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  6. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  7. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  8. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  9. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

随机推荐

  1. 基于VUE,VUX组件开发的网易新闻页面搭建过程

    根据妙味课堂上的一个教程练习总结,供自己复习用 一.功能介绍 一个网易新闻客户端的浏览页面,通过网易新闻的api接口实时获取新闻数据,用vux搭建样式框架,以轮播图,文字滚动,图文列表等形式把内容展示 ...

  2. 牛客网Wannafly挑战赛25A 因子 数论

    正解:小学数学数论 解题报告: 传送门 大概会连着写几道相对而言比较简单的数学题,,,之后就会比较难了QAQ 所以这题相对而言还是比较水的,,, 首先这种题目不难想到分解质因数趴,, 于是就先对p和n ...

  3. 重读《深入理解Java虚拟机》四、虚拟机如何加载Class文件

    1.Java语言的特性 Java代码经过编译器编译成Class文件(字节码)后,就需要虚拟机将其加载到内存里面执行字节码所定义的代码实现程序开发设定的功能. Java语言中类型的加载.连接(验证.准备 ...

  4. es6 学习四 数组的学习

    1. Array.from() 语法: Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike 类数组对象 mapFn 如果指定了该参数,新数组中的每个 ...

  5. android打印日志封装

    public class LogUtils { static String className;//类名 static String methodName;//方法名 static int lineN ...

  6. CA证书和TLS介绍

    数字签名 用自己的私钥给数据加密就叫数字签名 公钥传输威胁 在A和B的通信中,C可以把自己的公钥发给A,让A把C的公钥当成B的公钥,这样的话.B拿到加密数据反而无法解密,而C却可以解密出数据.从而实现 ...

  7. CentOS 7 :Failed to start IPv4 firewall with iptables.

    用iptables开启防火墙报错: Failed to start  IPv4 firewall with iptables. 转载于:https://blog.csdn.net/ls1645/art ...

  8. 我的DIY作品

    工欲善其事必先利其器~呵呵~我自己体会从无到有的乐趣~0~ 从Visio到CAD再到Autodesk,你妹的~只有自己才懂~哎~感谢兄弟朋友们的支持! Visio图: CAD图: Autodesk图:

  9. 20165236 《Java程序设计》第七周学习总结

    20165236 <Java程序设计>第七周学习总结 教材学习内容总结 第十一章  JDBC与MySQL数据库 1.MySQL数据库管理系统: MySQL数据库管理系统,简称MySQL,是 ...

  10. eclipse快键

    工作中经常用到的几个eclipse快捷键 ctrl+alt+箭头下或上-----------------复制当前行 ctrl+q -------------让光标返回最后一次修改的地方 ctrl+d ...