沈逸老师ubuntu速学笔记,2-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展 上一节:沈逸老师ubuntu速学笔记

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