一 官网: https://www.php.net/downloads.php

https://blog.izgq.net/archives/910/

https://www.jianshu.com/p/1ff101482b31

官网文档; https://www.php.net/manual/zh/install.unix.apache2.php

安装依赖

sudo apt-get install libxml2-dev

sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libbz2-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libxpm-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libt1-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libmysql++-dev
sudo apt-get install libxslt1-dev
sudo apt-get install libssl-dev
sudo apt-get install libgmp-dev
sudo apt install -y libedit-dev libreadline-dev
apt-get install libzip-dev
 

下载解压

https://www.php.net/distributions/php-7.2.20.tar.gz
tar -xzvf php-7.2..tar.gz
mv php-7.2. php

编译前准备

sudo apt install build-essential bison re2c pkg-config -y
sudo apt install build-essential bison re2c pkg-config libxml2-dev libbz2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libfreetype6-dev libgmp-dev libreadline6-dev libxslt1-dev libzip-dev -y

二.配置和创建PHP

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
 
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --enable-fpm

  

执行该语句时可能会出现如下提示:

error: xml2-config not found. Please check your libxml2 installation

此时执行make命令会出现以下错误:

“make: *** No targets specified and no makefile found. Stop.”

这是因为缺少xml2-config文件造成的。解决方案:

sudo apt-get install libxml2
sudo apt-get install libxml2-dev

之后在此执行以下语句完成编译安装

./configure \
-with-apxs2=/usr/local/apache2/bin/apxs \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--with-libxml-dir \
--with-xmlrpc \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--with-libzip=../libzip-1.3. \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--with-openssl \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs #指定Apache2−−with−apxs2=/usr/local/apache2/bin/apxs——指定Apache2
make
make install
make test

、安装时报错内存 不足recipe for target 'ext/fileinfo/libmagic/apprentice.lo' failed,把服务器应用全关了 重新安装ok

4.将php.ini拷贝到/usr/local/lib/

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

查看编译时参数

php -i|grep config

查看php.ini 默认加载路径

php -i|grep php.ini

查看php配置文件有没有加载

 php --ini

5.编辑httpd.conf,加载PHP模块

LoadModule php7_module modules/libphp7.so  #好像程序自己加进去了 

7.重启Apache2

/usr/local/apache2/bin/apachectl restart
1
8.测试PHP是否安装成功
在Apache2的指定文件目录下添加index.php文件,并输入以下内容

<?php
phpinfo();
?>

然后在浏览器输入url——localhost/index.php,如果查看到以下结果,则说明安装成功,若没有,可以考虑重新编译安装。

ubuntu tar.gz 包 php7.2 安装的更多相关文章

  1. linux 安装mysql数据库——tar.gz包解压安装法

    mysql数据库有多种安装方式,本文只介绍在Linux服务器上的tar.gz包解压安装法, 先通过mysql官网或者网络资源下载 mysql-5.7.3-m13-linux-glibc2.5-x86_ ...

  2. Ubuntu16.04下通过tar.gz包安装MySQL5.5.52

    1.下载  tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // ...

  3. 关于Python安装官方whl包和tar.gz包的方法详解

    Windows环境: 安装whl包:pip install wheel -> pip install **.whl 安装tar.gz包:cd到解压后路径,python setup.py inst ...

  4. Python_安装官方whl包和tar.gz包

    Windows环境: 安装whl包:pip install wheel    ->    pip install  **.whl 安装tar.gz包:cd到解压后路径,python setup. ...

  5. CentOS7使用tar.gz包安装MySql的踩坑之旅

    由于客户的CentOS服务器没有安装yum工具,只能通过下载tar.gz包安装mysql,于是跟着万能的百度开启了漫漫踩坑之旅: 1.下载mysql-5.6.33-linux-glibc2.5-x86 ...

  6. CentOS7采用tar.gz包方式安装Mysql5.7

    软件:VMware Linux版本:CentOS 7 一.安装mysql(采用tar.gz包安装Mysql5.7) 1.安装开发工具包 [root@localhost ~]# yum groups m ...

  7. [转]protobuf-2.5.0.tar.gz的下载与安装

    protobuf-2.5.0.tar.gz的下载与安装 原文地址:http://blog.csdn.net/tdmyl/article/details/31811317 版权声明:本文为博主原创文章, ...

  8. Linux(CentOS7)压缩和解压缩war包、tar包、tar.gz包命令

    一.Linux版本 二.解压缩.tar.gz包到当前目录 tar -xzvf apache-tomcat-7.0.90.tar.gz 三.将指定文件压缩成.tar.gz包 tar -czf apach ...

  9. java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署

    使用ant可以轻松的将一个项目分离代码,直接打包成不同需求的tar.gz包使用 1.build.properties (属性) version.num=1.0 #版本信息 2.build.xml (a ...

随机推荐

  1. tensorflow2.0 squeeze出错

    用tf.keras写了自定义层,但在调用自定义层的时候总是报错,找了好久才发现问题所在,所以记下此问题. 问题代码 u=tf.squeeze(tf.expand_dims(tf.expand_dims ...

  2. jquery easyui控件事件监听委托给jquery事件监听,keyup取最新值问题

    <div id="<?php echo NS; ?>toolbar"> <div style="padding:5px"> ...

  3. 二叉搜索树第k个节点

    /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x ...

  4. postman 简单使用教程

    Postman 安装   Postman 接口测试(Collection)   Postman 接口测试(测试用例)Postman 接口测试(变量与参数化)Postman 接口测试(非 UI 运行模式 ...

  5. springcloud核心组件Eureka、Ribbon、Feign、Hystrix、Zuul

    各个组件角色扮演:    Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取 ...

  6. Vagrant 手册之同步目录 - VirtualBox

    原文地址 如果你使用的 provider 是 VirtualBox,那么 VirtualBox 同步目录就是默认的同步目录类型.这些同步目录使用 VirtualBox 的共享目录系统来同步客户机跟宿主 ...

  7. Centos安装GD库

    tar zxvf ncurses-5.6.tar.gz 进入目录 cd ncurses-5.6 生成 makefile文件,再进一步编译 ./configure --prefix=/usr --wit ...

  8. ALDS1_1_3_D Areas on the Cross-Section Diagram 遇见了几个有意思的语法问题

    Your task is to simulate a flood damage. For a given cross-section diagram, reports areas of flooded ...

  9. 使用notepad++写markdown的配置过程

    已过时 下载最新的markdown插件,github 解压后将MarkdownViewerPlusPlus.dll复制一份到notepad就能看到markdown插件的小图标了 设置markdown高 ...

  10. Java的socket编程中关于bufferedWriter的发送问题

    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String send ...