Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展。

1、编译安装apache2.4.20

1 第一步: ./configure --prefix=/usr/local/httpd --enable-so

2 第二步: make

3 第三步: sudo make install

2、编译安装libiconv

到这去下载,并编译安装 http://www.gnu.org/software/libiconv/#TOCdownloading

1 第一步:./configure --prefix=/usr/local

2 第二步: make

3 第三步: sudo make install

3、手动修改编译报错

http://www.itkb.ro/userfiles/file/libiconv-glibc-2.16.patch.gz 这里有个补丁文件

打开 /srclib/stdio.h 找到报错点:将文件内容手动修改为

#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

#endif

4、执行sudo ldconfig ,老师说姑且理解为刷新动态链接库缓存。

5、编译安装PHP7.0

如果以前编译过PHP定要先执行make clean (上次编译的结果先清除掉)

老三样继续:

  第一步:./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/conf --with-apxs2=/usr/local/httpd/bin/apxs --with-iconv-dir=/usr/local/lib,这一步是生成Makefile

第二步:执行:make ZEND_EXTRA_LIBS='-liconv'

最后 :sudo make install

6、安装过程中,自动会拷贝一个 /usr/local/httpd/modules/libphp7.so

贴心的安装程序还会自动修改我们的apache配置文件加入了这一行LoadModule php7_module modules/libphp7.so

我们自己再加入

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

7、查看你apache加载的模块

sudo ./apachectl restart

./apachectl -t -D DUMP_MODULES

8、php7安装pdo mysql 扩展

第一步:如果前期当然是清除前期编译文件:make clean.

第二步:到 /usr/local/php/bin 目录下 cat php_config 查看php编译的参数。

第三步:复制出参数,并增加参数(红色为新增参数)

--prefix=/usr/local/php --with-config-file-path=/usr/local/php/conf --with-apxs2=/usr/local/httpd/bin/apxs --with-iconv-dir=/usr/local/lib --enable-mysqlnd --with-pdo-mysql=mysqlnd

第四步: make ZEND_EXTRA_LIBS='-liconv'

第五步:sudo make install

最后,在php.ini加上 extension=pdo_mysql.so

Ubuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP) http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux下安装配置PHP环境(Apache2) http://www.linuxidc.com/Linux/2015-05/118062.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Linux下Apache虚拟主机的配置 http://www.linuxidc.com/Linux/2016-04/130381.htm

Apache 的详细介绍:请点这里
Apache 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/132912.htm

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2016-07/132912.htm

Ubuntu 16.04下编译安装Apache2.4和PHP7结合的更多相关文章

  1. Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置

    控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库( ...

  2. Ubuntu 16.04 下简单安装使用golang之备忘

      刚开始学习Go语言,这里记录下我在Ubuntu 16.04下安装使用golang的过程,方便以后查询.   一.安装   1.添加源   如果使用默认的源安装golang的话,版本太低,只到1.6 ...

  3. ubuntu 12.04下编译安装nginx-1.9.3

    1,下载nginx-1.9.3.tar.gz 两种方式: (1).ubuntu 下终端中(ctrl+alt+t) 运行命令: wget http://nginx.org/download/nginx- ...

  4. Ubuntu 16.04下apt安装ssh及卸载(含FileZilla 使用过程)

    前言:文件发布测试过程中需要使用Windows和Ubuntu实现文件共享. 以下内容转载自:http://blog.csdn.net/jiang13479/article/details/535014 ...

  5. 在Ubuntu 16.04 上编译安装OpenCV3.2.0(Cmake + python3 + OpenCV3)(转)

    1 安装CMAKE sudo apt-get install cmake 2 安装python及其所依赖的软件包 sudo apt-get install build-essential sudo a ...

  6. Ubuntu 16.04下vsftpd 安装配置实例

    从https://www.linuxidc.com/Linux/2017-06/144807.htm转载 第一步:安装VSFTPD sudo apt-get install vsftpd 安装完成后启 ...

  7. Ubuntu 16.04下如何安装VMware-Workstation

    一.下载 下载地址:https://my.vmware.com/cn/group/vmware/details?downloadGroup=WKST-1411-LX&productId=686 ...

  8. RabbitMQ在Ubuntu 16.04下的安装与配置

    安装执行如下命令: echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d ...

  9. Ubuntu 16.04下的安装RabbitMQ

    安装 添加源 echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/ra ...

随机推荐

  1. 【bzoj1562】【[NOI2009]变换序列】匈牙利算法的性质利用

    (上不了p站我要死了,侵权度娘背锅) Description Input Output Sample Input 5 1 1 2 2 1 Sample Output 1 2 4 0 3 HINT 30 ...

  2. 如何在Blog中加入Google Analytics

    原文链接:https://www.cnblogs.com/procoder/archive/2010/03/04/Google-Analytics-Blog.html 背景 在之前加入了一个网站统计工 ...

  3. Python学习笔记——对象

    Python 的对象定义方式如下: class Person:        def __init__(self, name):            self.name = name         ...

  4. threadlocal彻底理解

    如果你定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap.并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义.那么你不 ...

  5. python里的“__all__ ”作用

    转载:http://python-china.org/t/725 参考:http://www.cnblogs.com/alamZ/p/6943869.html 用 __all__ 暴露接口,这是一种约 ...

  6. Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决

    转载:http://blog.csdn.net/sparkexpert/article/details/52871000 随着新版本的spark已经逐渐稳定,最近拟将原有框架升级到spark 2.0. ...

  7. HTML5 Canvas 动态勾画等速螺线

    等速螺线亦称阿基米德螺线,得名于公元前三世纪希腊数学家阿基米德.阿基米德螺线是一个点匀速离开一个固定点的同时又以固定的角速度绕该固定点转动而产生的轨迹.在此向这位古代最伟大的数学家致敬.用Canvus ...

  8. MySQL5.7 基于二进制包的安装

    1.MySQL5.7安装注意事项 1.在MySQL5.7中mysql_install_db已经不再推荐使用,建议改成mysqld-initialize 完成实力初始化.(mysql_install_d ...

  9. iOS技巧

    在不使用加急的情况下,可以利用appstore“可以随时修改上架时间和发布国家.价格而无需再次审核”的规则,先提交小国市场快速过审,准备上架销售时再改回中国——如同样是中文版本,你可以先把游戏上到新加 ...

  10. DNS主从服务器+mysql

    1 .背景 BIND从文本文件中获取数据,这样容易因为编辑错误出现问题. BIND需要将数据加载到内存中,如果域或者记录较多,会消耗大量的内存. BIND启动时解析Zone文件,对于一个记录较多的DN ...