热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[LNMPA搭建六]PHP扩展安装

1、安装前言鄙人在教程五当中介绍了《Nginx服务器详细【配置】》在文章后有个议性说明。在安装好phpMyAdmin后浏览器访问youipphpMyAdmin时报了如下错误:

1、安装前言

鄙人在教程五当中介绍了《Nginx服务器详细【配置】》在文章后有个议性说明。
在安装好 phpMyAdmin后浏览器访问 you ip/phpMyAdmin 时报了如下错误:
这里写图片描述
我们的教程从这里开始 。
如有不懂如何安装php扩展的请查看《PHP扩展安装原理》

2、前期准备
下载php源码并解压
本人的下载解压地址是 /data/soft/php/php-5.6.30--code
进入解压源码目录里面的ext目录
cd /data/soft/php/php-5.6.30--code/ext

3、mbstring扩展安装
cd mbstring
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config 
make 
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

继续访问 you ip/phpMyAdmin 报如下错误

这里写图片描述

4、安装mysql扩展和mysqli扩展

4.1mysql扩展

cd /data/soft/php/php-5.6.30--code/ext/mysql
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mysql=/data/soft/mariadb
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

4.2mysqli扩展

cd /data/soft/php/php-5.6.30--code/ext/mysqli
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mysqli=/data/soft/mariadb/bin/mysql_config

参数说明:–with-mysqli mysql(mariadb)安装地址bin下的mysql_config

出现错误 :参考地址:http://www.cnblogs.com/xiaoqian1993/p/6277771.html

fatal error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory

解决方案:

 pwd 
/data/soft/php/php-5.6.30--code/ext/mysqli
 vim mysqli_api.c
#把第36行的
include "ext/mysqlnd/mysql_float_to_double.h"
#修改为
include "/data/soft/php/php-5.6.30--code/ext/mysqlnd/mysql_float_to_double.h"

重新执行make && make install

修改 vi /data/conf/php/php.ini里面的 extension=mysqli.so 开启扩展
重启service php-fpm restart

到目前为止 继续访问you ip/phpMyAdmin正常

接下来我们安装其他的扩展

5、curl扩展
扩展说明:curl是php中经常用到的比如:网页扒去,访问第三方api

5.1、安装curl扩展依赖库

cd /data/soft/php
tar -xvf curl-7.52.1.tar.gz
mkdir curl
cd curl-7.52.1
./configure --prefix=/data/soft/php/curl --enable-shared
make
make install

5.2、安装curl扩展

进入安装原php的源码目录

cd /data/soft/php/php-5.6.30--code/ext/
cd curl
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-curl=/data/soft/php/curl
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=curl.so 开启扩展
重启service php-fpm restart

6、GD动态图库扩展

6.1、依赖库安装

6.1-1、安装zlib 前方安装nginx时,已经安装。此处忽略。

6.1-2、 yum install libXpm-devel

6.1-3、安装jpegsrc

cd /data/soft/php
tar -xvf jpegsrc.v9b.tar.gz
mkdir jpegsrc
cd jpeg-9b
./configure --prefix=/data/soft/php/jpegsrc --enable-shared --enable-static
make 
make install

6.1-4、 安装libpng

cd /data/soft/php
tar -xvf libpng-1.6.28.tar.gz
mkdir libpng
cd libpng-1.6.28
./configure --prefix=/data/soft/php/libpng --enable-shared --enable-static
make 
make install

6.1-5、安装freetype2

cd /data/soft/php
tar -xvf freetype-2.7.1.tar.gz
mkdir freetype
cd freetype-2.7.1
./configure --prefix=/data/soft/php/freetype
make 
make install

6.1-6、 gd安装

cd /data/soft/php
tar -xvf libgd-2.2.4.tar.gz
mkdir libgd
cd libgd-2.2.4
./configure --prefix=/data/soft/php/libgd --with-jpeg=/data/soft/php/jpegsrc --with-png=/data/soft/php/libpng --with-freetype=/data/soft/php/freetype --with-zlib=/data/soft/nginx/zlib
make 
make install

6.2安装gd扩展

    进入安装原php的源码目录
cd /data/soft/php/php-5.6.30--code/ext/
cd gd
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-gd=/data/soft/php/libgd --with-png-dir=/data/soft/php/libpng --with-jpeg-dir=/data/soft/php/jpegsrc --with-freetype-dir=/data/soft/php/freetype --with-zlib-dir=/data/soft/nginx/zlib
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=gd.so 开启扩展
重启service php-fpm restart

7、mcrypt库加密扩展

7.1-1.先安装Libmcrypt

cd /data/soft/php
tar -xvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure #默认安装否则mcrypt安装报错(或添加软连接)
make
make install

7.1-2.安装mhash

cd /data/soft/php
tar -xvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure     #默认安装否则mcrypt安装报错(或添加软连接)
make
make install

7.1-3.安装mcrypt

 cd /data/soft/php
 tar -xvf mcrypt-2.6.8.tar.gz
 mkdir mcrypt
 cd mcrypt-2.6.8
 LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/data/soft/php/mcrypt
 make
 make install

7.2.安装mcrypt扩展

进入安装原php的源码目录
cd /data/soft/php/php-5.6.30--code/ext/
cd mcrypt
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mcrypt=/data/soft/php/mcrypt
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=gd.so 开启扩展
重启service php-fpm restart

8、libevent网络库扩展(第三方扩展)

8.1、安装libevent库

cd cd /data/soft/php
wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar -xvf libevent-2.1.8-stable.tar.gz
mkdir libevent
./configure --prefix=/data/soft/php/libevent
make && make install

8.2、安装libevent扩展

由于是第三方扩展源码包没有扩展库。扩展库下载地址:https://pecl.php.net/package/libevent

cd cd /data/soft/php
wget https://pecl.php.net/get/libevent-0.1.0.tgz
tar -xvf libevent-0.1.0.tgz
cd libevent-0.1.0
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-libevent=/data/soft/php/libevent
make && make install

修改 vi /data/conf/php/php.ini里面的 extension=libevent.so 开启扩展
重启service php-fpm restart

8.3、安装pcntl多线程扩展

cd /data/soft/php/php-5.6.30--code/ext/pcntl
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config 
make 
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

最后关于扩展说明

为什么安装libevent扩展他有什么用
具体参考《workerman和webSocket与libevent扩展的关系》

本人本篇的研究笔记资料:链接:http://pan.baidu.com/s/1miTtSmO 密码:zexp


推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
author-avatar
桃花源主ITXB
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有