exif linux php扩展_LNMP环境为PHP添加exif扩展

在使用时 php报出如下错误: Call to undefined function gemvary\exif_imagetype()

好吧,exif扩展没安装...

通过 打印phpinfo() 查看得知 mbstring 扩展是有的,exif扩展没有

如果mbstring也没有,也可以参考以下exif扩展的安装过程;

安装过程基本类似的;

进入主题:

1、查看当前环境PHP的版本号和安装目录whereis php

结果:

[root@xiaojun exif]# whereis php

php: /usr/bin/php /usr/lib64/php /etc/php.d /etc/php.ini /usr/include/php /usr/local/php /usr/share/php /usr/local/php/bin/php /usr/share/man/man1/php.1.gz

[root@xiaojun exif]# /usr/local/php/bin/php -v

PHP 7.1.7 (cli) (built: Mar 16 2018 11:06:26) ( NTS )

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

那么phpize的位置就是 /usr/local/php/bin/phpize

2、进入php的源码目录#这是我电脑上的路径,得改成自己服务器上的路径

cd /www/lnmp1.4/src/php-7.1.7/ext/exif

进入扩展目录后进行初始化:/usr/local/php/bin/phpize

命令执行后当前目录会多几个文件,只要有 configure 这个文件就行

然后再检查配置,输入:./configure --with-php-config=/usr/local/php/bin/php-config

如果有报错说明路径不对,使用 whereis php-config 查看服务器上此文件的路径

接下来再依次执行这两个命令:make

make install

执行完会有类似如下信息:[root@xiaojun exif]# make install

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

这个目录就是扩展安装后的存放目录;

3、修改php.ini引入扩展vi /usr/local/php/etc/php.ini

在最后面加入:extension=exif.so

然后保存,重启PHP就完事了;

需要注意的是 exif.so 必须放在 mbstring.so 的后面,否则会出错;

可能出现的问题:

重启PHP时提示: NOTICE: PHP message: PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0

意思是mbstring这个扩展已经加载过了,还尝试引入;

解决办法:

PHP加载模块有两种方式,一种是通过php.ini 加载模块,另一种是通过编译时的参数加载模块。

这里出这个提示,那么mbstring应该就是属于后者,只需要php.ini中将其注释掉就行了;extension=mbstring.so

输入/usr/local/bin/phpize后提示: Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level sourc

我是将openssl扩展内的config0.m4文件改成config.m4就没提示了;cd ../openssl

cp ./config0.m4 ./config.m4

至于为什么openssl扩展的config.m4为什么会影响到安装其它扩展,暂不得而知;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宇视硬盘录像机onvif_视频监控系统中强大的录像机,兼容不同品牌,看看有哪些监控厂家...

选录像机,除路数、盘位和最大接入像素这些硬规格,大家还关注兼容性,例如好不好用、配置方不方便、使用流不流畅、录像稳不稳定等。偶尔也会有朋友问“TP的录像机可以搭配xx厂商的摄像机使用吗?”,答案当然是&#xff1…

python设置函数_在Python中设置函数签名

假设我有一个泛型函数f,我想以编程方式创建一个行为与f相同但具有自定义签名的函数f2。更多细节给定列表l和字典d,我希望能够:将f2的非关键字参数设置为l中的字符串将f2的关键字参数设置为d中的键,将默认值设置为d中的值假设我们有…

mysql新建数据表_Mysql创建数据库与表,并添加表的数据

首先,在成功安装Mysql的基础上,进入到cmd窗口,登录我们的mysql管理系统。登录方式:mysql -u用户名 -p密码如果出现Welcome to...等一大堆英文指示,则说明成功进入了mysql系统。因为我们不知道系统中有哪些库&#xff0…

mysql数据库管理维护_(转)Mysql数据库管理 表的维护

原文:http://t.dbdao.com/archives/mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86-%E8%A1%A8%E7%9A%84%E7%BB%B4%E6%8A%A4.html一、目标完成本课程后,你应该能够:认识不同类型的表维护操作执行维护表的SQL语句使用客户端和实用程序维护…

mysql如何使用事件_MySQL事件的使用详解

在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句。这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上。1.首先要查看事件是否开启了,SHOW VARIABLES LIKE event_scheduler;SELECT event_scheduler…

mysql 提交乱码问题_mysql数据库乱码问题

变量 a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 a 的编码。2. 写入语句在发送到 MySQL 服务端之前的编码由 CHARACTER_SET_CONNECTION 决定,假设此时编码为 B。3. 经过 MySQL 一系列词法,语…

mysql5.5编译安装脚本_mysql5.5 免编译安装及脚本启动报错深入

Mysql安装环境简介:最近在做MHA。已经安装完毕heartbeat和drbd,现在准备安装Mysql。Mysql安装目录:/opt/mysqlMysql数据目录:/data/mysql备注:/data目录实际是drbd需要同步到备节点的磁盘分区[rootmysql1 src]# df -hF…

mysql 主键索引如何创建_SQL创建索引、主键

-- MySQL中四种方式给字段添加索引1)# 添加主键# ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);# -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。#添加唯一索引 -- UNIQUE 后面不用跟INDEX# ALTER TABLE tbl_name ADD UNIQU…

mysql查询20-30的数据_20. mysql查询表的数据大小

在需要备份数据库里面的数据时,我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量。1、要查询表所占的容量,就是把表的数据和索引加起来就可以了select sum(DATA_LENGTH…

requests由于系统缓冲区空间不足_系统C盘满了空间不足的扩容?

今天带来的是无需重新分区,无需删除逻辑分区的C盘容量扩大方法不重新或删除分区这就意味着无需重新安装软件、游戏等程序,也不用备份重要资料等操作,不影响电脑其它盘。统C盘满了是十分常见的问题,由于起初对C盘分区分的太小了&am…

mysql登陆三小时平均值图片_Mysql每小时平均值,间隔从半小时开始

我有一个mysql数据库,其中包含5分钟箱中的数据 . 我想从半小时开始创建每小时平均数据 . 通过使用mysql内置组:select date,AVG(AE) from mytable group by date(date),HOUR(date);会计算从01:00到02:00的平均值 . 相反,我希望从00:30到01:30…

mysql ip to int_ip网段转换程序(把ip地址转换成相对就的整数)

mysql教程_connect(localhost,root,root);mysql_select_db(dfd);$array file("ip.txt");foreach( $array as $k ){list ($ip,$s) explode(/,$k);$ipe str_replace(.0,.255,$ip);$ipint iptoint($ip);$ipinte iptoint($ipe);//echo iptoint($ip) .-.iptoint($ip…

postgre管理员 无法访问表_postgresql – 授予用户对所有表的访问权限

首先,您必须能够连接到数据库才能运行查询.这可以通过以下方式实现REVOKE CONNECT ON DATABASE your_database FROM PUBLIC;GRANT CONNECTON DATABASE database_nameTO user_name;REVOKE是必要的becauseThe key word PUBLIC indicates that the privileges are to be granted t…

mysql查询去年本月的数据_MySQL查询本周、上周、本月、上个月份数据的sql代码...

MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周、上周、本月、上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看..查询当前这周的数据SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittim…

python xlwings api_2021-01-13python,xlwings,api运用,及一些问题

import xlwings as xwimport re#启动APP,visible:是否可见,addbook:是否新增工作簿appxw.App(visibleFalse,add_bookFalse)#APP是否可见app.display_alertsFalse#是否刷新APP屏幕app.screen_updatingFalse#文件路径filepathrC:\Users\*******…

python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)

简单介绍框架的实现逻辑,参考代码的git地址:1.环境准备python3 pycharm编辑器2.框架目录展示(该套代码只是简单入门,有兴趣的可以不断后期完善)(1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送…

python用筛选法求解小于n的所有素数_用筛选法求解n以内的所有素数

用筛选法求解n以内的所有素数:筛选法的思想是一个数是素数则这个数的所有的倍数都是合数,我们不去找素数而去找合数,剩下的就是素数了。一个合数其最大的质因子不会超过其开发数,所以只要迭代到其最大数的开方数即可 一个简单的筛素数的过程&…

mysql类似于excel的删除重复项_Excel去除重复项的三种常用技巧

在工作中,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项。所谓的重复项,通常是指某些记录在各个字段中都有相同的内容(纵向称为字段,横向称为记录),例如下面图中的第三行数据记录和第五行数据记录就是完…

cas java单点登录_java单点登录系统CAS的简单使用

http://blog.csdn.net/yunye114105/article/details/7997041参考:http://blog.csdn.net/diyagea/article/details/50638737(配置SSL协议)http://www.cnblogs.com/notDog/p/5264666.html背景有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能…

md5 java 工具类_Java实现一个MD5工具类

I. MD5工具类利用JDK封装一个简易的MD5工具类,逻辑比较简单,直接贴下具体实现public static String getMD5(String content) {String result "";try {MessageDigest md MessageDigest.getInstance("md5");md.update(content.getBy…