## 编译过程

更新源

```bash

apt-get update

```

安装需要的库

```bash

apt-get install make gcc wget tar libxml2-dev libssl-dev libbz2-dev curl libcurl4-openssl-dev libjpeg-dev libmcrypt-dev libfreetype6-dev libmemcached-dev autoconf pkgconf

```

给 `libssl.so` 建立软连接

```bash

ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/

```

```bash

cd /tmp

```

下载 `php` 安装包

```bash

wget http://am1.php.net/distributions/php-7.0.28.tar.gz

```

解压 `php` 安装包

```bash

tar -zxvf php-7.0.28.tar.gz

```

进入 `php` 安装包目录

```bash

cd php-7.0.28

```

编译安装 `php`

```bash

./configure --prefix=/usr/local/php --with-iconv --with-zlib --with-curl --with-openssl --with-bz2 --with-pdo-mysql=mysqlnd --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mhash --with-mcrypt --with-fpm-user=www --with-fpm-group=www --with-libxml-dir  --enable-fpm --enable-xml --enable-mbstring --enable-sockets --enable-soap --enable-session --enable-opcache --enable-bcmath --enable-inline-optimization --enable-cli --enable-zip --enable-gd-native-ttf --enable-sockets --enable-mbregex --disable-rpath

make && make install

```

创建用户

```bash

groupadd www

useradd -g www www

```

复制相关文件

```bash

cp php.ini-development /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

sed -i -e 's/listen = 127.0.0.1:9000/listen = \/var\/run\/php7.0-fpm.sock/' /usr/local/php/etc/php-fpm.d/www.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php7.0-fpm

chmod +x /etc/init.d/php7.0-fpm

ln -s /usr/local/php/bin/php /usr/bin/php7.0

chmod +x /usr/bin/php7.0

```

启动 `php`

```bash

service php7.0-fpm start

```

编译 `igbinary`

```bash

wget http://pecl.php.net/get/igbinary-2.0.6.tgz

tar -zxvf igbinary-2.0.6.tgz

cd igbinary-2.0.6

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

sed -i '/extension\=php_xsl\.dll/a\extension\=igbinary\.so' /usr/local/php/lib/php.ini

```

编译 `phpredis`

```bash

wget http://pecl.php.net/get/redis-3.1.0.tgz

tar -zxvf redis-3.1.0.tgz

cd phpredis-3.1.0

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

sed -i '/extension\=php_xsl\.dll/a\extension\=redis\.so' /usr/local/php/lib/php.ini

```

编译 `memcached`

```bash

wget http://pecl.php.net/get/memcached-3.0.4.tgz

tar -zxvf memcached-3.0.4.tgz

cd memcached-3.0.4

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

sed -i '/extension\=php_xsl\.dll/a\extension\=memcached\.so' /usr/local/php/lib/php.ini

```

删除不需要的文件

```bash

rm -rf php*

rm -rf mem*

rm -rf igb*

```

清除包

```bash

apt-get autoclean

apt-get autoremove

```

启动 `PHP`

```bash

service php7.0-fpm start

```

至此,结束。

-- EOF --

本文转载自[IMJCW](http://jcwblog.com)

原文链接:[Ubuntu编译安装PHP](http://jcwblog.com/articles/backend/php-compile.html)

安卓编译php,编译PHP相关推荐

  1. 【反编译】安卓APK反编译为java文件

    [反编译]安卓APK反编译为java文件 准备工具 要反编译的apk文件, 以微信8.0.apk为例子 dex2jar   下载地址 dex2jar-2.0反编译.zip-Android文档类资源-C ...

  2. 安卓apk反编译操作步骤

    安卓apk反编译操作步骤 1.反编译需要准备的工具 apktool .dex2jar.jd-gui(到原博客可直接下载) 2.反编译操作步骤: 1)使用apktool反编译apk 2)使用dex2ja ...

  3. android8.1内核编译,Android8.1.0安卓源码编译

    换中科大源18.04 由于新安装的Ubuntu默认配置为Ubuntu官方源,基本软件包下载速度较慢,下面修改软件源: 备份下sources.list sudo cp /etc/apt/sources. ...

  4. 关于安卓Apk反编译 再编译回来不能正常安装的问题

    使用apktool反编译apk之后,再编译回去,发现不能正常安装,而使用ApkToolKitV3.0反编译,再编译回去就可以正常安装. 主要原因是因为使用apktool编译回没有签名. 所以不能安装, ...

  5. 安卓系统开发编译模块代码

    m    在源码树的根目录下执行编译 mm    编译当前路径下所有的模块,但不包含依赖 mma    编译当前路径下所有模块,且包含依赖 mmm    编译指定路径下所有的模块,但不包含依赖 mmm ...

  6. Android8.1.0安卓源码编译

    换中科大源18.04 由于新安装的Ubuntu默认配置为Ubuntu官方源,基本软件包下载速度较慢,下面修改软件源: 备份下sources.list sudo cp /etc/apt/sources. ...

  7. APK反编译回编译问题汇总

    文章目录 前言 一.编译工具 二.问题汇总 1.反编译问题 2.回编译问题 前言 对于国内安卓的游戏推广(发行,买量),反编译回编译apk都是不可缺少的技能,他能帮助游戏快速上线并减少人工成本. 一. ...

  8. Android编译及编译脚本、Android构建基础学习笔记

    Android编译及编译脚本.Android构建基础学习笔记 Android编译及编译脚本 概述 Android.mk转换成Android.bp 例子(简单Android.mk文件转Android.b ...

  9. 反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接

    参考:C/C++程序编译流程(预处理->编译->汇编->链接) - ProLyn - 博客园 反汇编和反编译的区别_代码小卒_新浪博客 反汇编与反编译: 汇编:是把汇编源程序转变为目 ...

  10. php windows 编译,Windows编译PHP7.2拓展

    准备工作https://github.com/Microsoft/php-sdk-binary-tools下载PHP-SDK(在右边的"clone or download"点击,选 ...

最新文章

  1. 按键驱动的恩恩怨怨之概述
  2. 分布式事务的实现原理
  3. 设计模式:组合模式(Composite Pattern)
  4. python刷题软件代码_Python使用docx模块实现刷题功能代码
  5. jointable 能加多个字段吗_Excel函数Countif、Countifs超级实用技巧,你真的都掌握吗?...
  6. ConcurrentHashMap的实现原理和源码分析
  7. linux date -s_Linux炫技:左手密码生成器,解放右手生产力
  8. android开发学习 ------- json数据与实体类之间的相互转换
  9. 记录一次不同接口之间并发导致的生产问题
  10. linux数组删除数据,如何从shell数组中删除一个元素
  11. 通过 DataEase 获取 API 数据完成项目周报分享
  12. 计算机主板电源线接法,主板电源线怎么接
  13. ffmpeg+java截取视频帧
  14. 工业控制信息系统中的商用密码应用思考
  15. C#支付宝当面付扫码支付开发,包括demo代码的修改和蚂蚁金服开发平台的配置
  16. 自我激励二十法(zz)
  17. Multiclass Weighted Loss for Instance Segmentation of Cluttered Cells
  18. 点、线、圆、矩形、抛物线的类定义_德语词汇-数学类
  19. Http Live Streaming介绍和应用
  20. ARM的大端格式big endian、小端格式little endian和字word

热门文章

  1. 从入门到入土:基于C语言采用TCP协议实现远程控制|详细说明|利用流套接字实现一个简单的远程控制系统
  2. 199 美元的 iPhone 都可以想了,时代真的变了?
  3. 从工程师的角度审视 Web 3,没有任何炒作
  4. 年终福利 | “社区之星”(年度贡献者)成长故事征集
  5. 自疫情暴发以来,99%的中国IT决策者认为数据变得更重要
  6. 程序员真的是太太太太太太太太难了!
  7. 建设可信赖、公平开放的HMS生态,华为与全球伙伴合作共赢
  8. 卷积神经网络的前世今生
  9. 屏保壁纸引发血案,三星手机瞬间变砖
  10. 漫画:为什么计算机起始时间是 1970 年 1 月 1 日?