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()不是什么困难的事。
等遇到问题,找到解决办法 再更新。