原文地址:Raspbian 编译安装 PHP 7.2

0x00 配置

开发板: Raspberry Pi 3B

系统: Raspbian 2019-04-08 stretch

0x01 下载源码

2019 年 5 月最新的 PHP 7.2 版本号是 7.2.18

PHP 7.2.18 Source code

wget https://www.php.net/distributions/php-7.2.18.tar.gz
tar zxvf php-7.2.18.tar.gz

0x02 安装依赖包

这里包含了依赖包以及开发工具

apt install libkrb5-dev \
libc-client2007e \
libc-client2007e-dev \
libcurl4-openssl-dev \
libbz2-dev \
libjpeg-dev \
libmcrypt-dev \
libxslt1-dev \
libxslt1.1 \
libpq-dev \
libgmp-dev \
libreadline-dev \
build-essential \
git \
make

0x03 建立库文件的软链接

在 Raspbian 中编译 PHP 的时候会出现找不到某些库的问题,但实际上已经安装了这些库,只需要建立相应的软链接即可

mkdir /usr/c-client/
ln -s /usr/lib/libc-client.a /usr/c-client/
mkdir /usr/kerberos
ln -s /usr/lib/arm-linux-gnueabihf/mit-krb5/* /usr/kerberos

0x04 编译安装

首先进行配置,指定安装位置,配置文件位置以及需要安装的模块等

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-openssl \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-libdir=/usr/lib/arm-linux-gnueabihf \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--enable-fpm \
--disable-debug \
--enable-shared \
--with-iconv \
--with-cdb \
--enable-dom \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--with-openssl-dir \
--with-png-dir \
--enable-gd-jis-conv \
--with-gmp \
--enable-json \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--enable-session \
--with-readline \
--enable-shmop \
--enable-simplexml \
--enable-sysvmsg \
--enable-wddx \
--enable-mysqlnd-compression-support \
--with-pear

make 命令的 -j 参数用于指定编译时使用的线程数,根据开发板配置自行指定

这个过程会非常漫长

make -j 4
make install

0x05 配置 php-fpm

复制默认配置文件

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

运行 php-fpm

/usr/local/php/sbin/php-fpm

Raspbian 编译安装 PHP 7.2的更多相关文章

  1. 在树莓派Raspbian下安装支持Hard Float的.NET环境

    [题外话] 最近入了个树莓派玩,系统装的官方推荐的Hard Float的Raspbian,由于衍生自Debian,所以Mono什么的非常好装.但是官方源中的Mono在Hard Float的Raspbi ...

  2. 在树莓派1B上编译安装lnmp服务器

    最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...

  3. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

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

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

  5. Linux下编译安装Vim8.0

    什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...

  6. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  7. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  8. protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  9. 编译安装mysql

    参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html 安装mysql5.6.17 1.按照标准需要给mysql创建所属用户和用 ...

随机推荐

  1. .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能

    .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能 我的项目需求是:在.net4.5中用mvc5实现上传xml文件,后台实时导入数据库时传到前台进度, ...

  2. (转)通过反编译深入理解Java String及intern

    原文链接:https://www.cnblogs.com/paddix/p/5326863.html 一.字符串问题 字符串在我们平时的编码工作中用的非常多,并且用起来非常简单,所以很少有人对其做特别 ...

  3. js 继承的简单理解

    什么是继承 js中的继承就是获取存在对象已有属性和方法的一种方式. 继承一 属性拷贝 就是将对象的成员复制一份给需要继承的对象. // 创建父对象 var superObj = { name:'liy ...

  4. 02:Java基础语法(一)

    Java基础语法 Java的关键字及保留字 关键字(Keyword) 关键字的定义和特点定义:被Java语言赋予了特殊含义的单词特点:关键字中所有字母都为小写注意事项:1)true.false.nul ...

  5. linux pip使用国内源

    最近在Linux里面使用pip安装应用的速度十分的慢,于是便上网找了一些国内的源. 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:https:// ...

  6. CISCO运维记录之4507设备升级IOS(Version 03.03.02.SG版本存在bug)

    CISCO运维记录之3650堆叠设备升级IOS(Version 03.03.02.SG版本存在bug) 1. 问题详情 思科45系列交换机使用Catalyst 4500 L3 Switch Softw ...

  7. super运行错误解决方法

    自己实践: 要是下面的不成功,可能的原因是: 目录/var/log/supervisor//var/log/supervisor/ /var/log/supervisor/ /var/log/supe ...

  8. poi导出excel数据量过大

    问题:使用poi导出excel,数据量过大导致内存溢出 解决思路:1.多sheet导出 2.生成多个excel打包下载 3.生成csv下载 本文使用的是第二个思路,代码如下: poiUtil工具类 p ...

  9. Qt5多线程

    方法一:重写run函数 一.线程执行过程: 1.在工程中自定义一个类mythread继承与QThread: 2.重写run函数: 3.创建线程对象: 4.写按钮槽函数: ui界面加入一个按钮 给按钮添 ...

  10. noip模拟总结

    先讲讲今天的比赛, T1: 看着很水,在草稿纸上画了一下,发现其实并不简单, 于是先去打第二题, 最后半个小时实在是一点头绪也没有, 打了个状压dp 70分(暴力分真多). T2: 把样例画出来模拟一 ...