PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)
PHP 中 GD库(以及Jpgraph库) 的配置和使用
(满屏荒唐言,一把辛酸泪)搞这种配置什么的真的太痛苦了!
一、安装前说明。
我的安装环境是,windows + IIS +php
首先我们要理解GD库和Jpgraph库之间的关系。
GD是默认安装在php下的图形库。(但是并没开启,稍后讲解)
而Jpgraph库是基于GD库的,它需要在Jpgraph官网上自行下载(这个很快)。
所以我们首先需要在php中开启 GD库的使用,然后安装并配置Jpgraph。
二,开启GD库。
首先,打开php.ini(windows下应该在你的安装目录根目录下)。
找到 entension_dir, 注释掉前面的 ; , 将你的 ext (扩展文件夹目录) 路径写在后面。(windows下一般也在你的根目录下)
这样做的目的: 让php知道去哪里找那些扩展文件(windows下是一堆.dll)
然后, 还要开启 gd库, 同样, 在php.ini. 中,找到 php_gd2.dll, 将前面的注释; 去掉, 也就是开启了gd2的使用。
这样在刚刚那个ext文件下的 一个 php_gd2.dll 文件就能够被使用了。
(同理, 开启其他功能的使用也是这样操作的)
这里,为什么是gd2呢, 因为在php5 之后,就把gd给删掉了,也就是说 gd2 包含了 原本的gd, 所以不要有怀疑。
这时候你测试一下:
<?php
var_dump(gd_info());
?>
如果出现,gd的信息,说明,gd启动成功。
但是很有可能你在画很多网上的例子的时候还是显示不出来,
这是因为缓存问题,你需要在输出图形之前加上
ob_clean();清除缓存。
这样就可以了。
(我搞了一整天就是这个原因,网上很多都是重复在说gd的配置开启,
不过既然要写,为了完整性,我就把完整的步骤写下来了)
三,jpgraph库
至于jpgraph的配置其实很简单,把jpgraph的src里面的所有文件放在php里面(或者其他位置也行),
然后在php.ini 中找到 include_path, 写上你的文件目录。
这里要注意一个问题,
如果你的include_path 如图:
那么你在引用的时候,必须是从includes下一级开始写文件路径,知道需要的php文件。
如,
那么说明, includes下面就是 jpgraph, 然后jpgraph中有那两个php。
为什么我要特意说一下这个呢,因为一开始我的include_path 写的是 E:\php\includes\jpgraph\;. 然后就会引用出错。
这是个细节。
还有一小点: 要让php.ini 生效,服务器必须要重启的。
四,最后, 很有可能还有一些编码问题,(全用英文就好了,中文也不一定会错)
这个我实在是暂时不想研究了,搞这种东西很痛苦。
然后前面说的因为缓存的问题,应该来说,在jpgraph的一个配置文件 jpg-config.inc.php中,是可以进行配置的,
同上,暂时就不研究了,毕竟手动加个ob_clean()不是什么困难的事。
等遇到问题,找到解决办法 再更新。
PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)相关推荐
- PHP GD库及jpgraph的安装与配置
一.了解 GD 库 在PHP中可以使用GD库对图像进行操作.DG库是一个开放的动态创建图像.源代码公开的函数库,可以从官主网站下载.目前GD库支持gif .png .jpeg. wbmp和xbm等多种 ...
- php中gd库的使用,php GD库的使用
两大功能:自己画,对于原有图片改变 PHP中GD库的使用 PHP 不仅限于只产生 HTML 的输出,还可以创建及操作多种不同格式的图像文件.PHP提供了一些内置的图像信息函数,也可以使用GD函数库创建 ...
- ios 开发中 动态库 与静态库的区别
使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...
- python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...
1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...
- linux 中如何将文件粘贴到usr下的lib内,学会在Linux下GCC生成和使用静态库和动态库...
一.基本概念1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主 ...
- Linux中的动态库和静态库(.a/.la/.so/.o)
为什么80%的码农都做不了架构师?>>> Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序 ...
- 移动中”的HTML5-开源图表库ichartjs-王鹤
2019独角兽企业重金招聘Python工程师标准>>> 移动中"的HTML5-开源图表库ichartjs-王鹤 ichartjs是一款基于HTML5的图形图表库,使用纯Ja ...
- python 控制库_python中实现自动化控制pyautogui库使用方法介绍
大家在使用电脑中,有时候需要电脑进行一些繁锁的程序化操作.Python中有一个第三方库,能够帮助大家实现自动化控制电脑完成指定任务.这个库叫pyautogui库.今天,咿哑呀就简单地教大家怎样使用这个 ...
- Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net...
Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net 1. -catalog与schema的设计区别1 ...
最新文章
- 华为自研搜索引擎曝光:「花瓣」虽小,但要替代谷歌
- GPU 加速下的图像视觉
- 掌握11项技能,你就是优秀的前端开发工程师
- vue如何写原生js_纯技巧向:React, Vue, Rxjs 和原生 JS 代码大乱斗
- python和java反射_python实现反射功能
- 修辞结构理论论文集合
- mfc响应鼠标前进后退按键_诚意升级,商务大鼠再临:雷柏MT750S多模无线激光鼠标评测...
- Windows 必备纯净软件
- 微信小程序地图实现展示路线路
- 怎样修改管家婆服务器密码,管家婆软件肿么修改密码
- Android 中WebView的使用详解
- 谷歌的无痕模式有什么好处_为什么Google的新搜索结果设计是黑暗的模式
- 各大高校自曝状态一览 排名不分先后
- 如何利用支付宝实现异地、跨行转账0元手续费
- 面对逆境:你是胡萝卜、鸡蛋还是咖啡豆
- 巡检水中机器人_一种水下管道巡检机器人及巡检方法与流程
- Android NDK编译libjpeg-turbo压缩图片
- 小孩子上机器人课好还是编程课好
- FPGA编程过程中遇到的一些错误
- sever串口wifi拓展板_串口Wifi模块的工作原理和详细功能介绍
热门文章
- 【安装cad后不小心卸了,再次重新安装时显示已安装。这个怎么破?】
- c语言的%的转义吗,%20转义(C语言转义字符问题)
- 投递邮件简历要注意的细节
- 10款 好用的php 编辑器
- linux pacman安装目录,Arch包管理器pacman和yaourt简明用法
- 程序员是学历与能力,哪个重要呢?本文告诉你!
- yaourt 查询时Segmentation fault package-query问题解决
- 2020年同济软院夏令营经历
- 点击化学DBCO修饰药物(DBCO-PEG-雷替曲塞,甲氨喋呤MTX,培美曲塞,磺胺地索辛)
- win10下docker部署nginx+node+mongodb+redis学习