在windows下,jpgraph只需要下载后,改下配置文件就可以很方便的使用。
但没想到在linux下还得这么麻烦,今天弄了半天,终于成功了。
今天实现的分为两个部分:
1,linux下编译GD库,以使php能够使用jpgraph。
2,更改jpgraph配置,解决jpgraph error:25049,还有中文显示的问题。
* 首先是编译GD库,在网上搜了很多资料,主要参考:
http://www.2cto.com/os/201203/124094.html
http://hi.baidu.com/mallor/item/08b481136055e18f89a9560e
http://daigong.iteye.com/blog/1101176
下面把内容也贴一下:
1、安装 zlib
百度一下即可下载 zlib-1.2.3.tar.gz
tar -zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure –prefix=/home/work/xxl/zlib
make
make install
后面有可能找不到zlib.a,如果出现这种情况则需要重新编译(一般是64 位 电脑才会出现)。解决方法:
cd zlib-1.2.3 //进入zlib目录
CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译
make
make install
2、安装libtool-1.X.tar.gz
./configure
make
make install
3、安装 jpeg
jpeg-6b.tar.gz
mkdir -p /usr/local/jpeg6
mkdir -p /usr/local/jpeg6/bin
mkdir -p /usr/local/jpeg6/lib
mkdir -p /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man
mkdir -p /usr/local/jpeg6/man1
mkdir -p /usr/local/jpeg6/man/man1
tar -zxf jpeg-6b.tar.gz
cd jpeg-6b
./configure –prefix=/home/work/xxl/jpeg6 –enable-shared –enable-static
make
make install
若出现错误:
make: ./libtool:命令未找到
make: *** [jcapimin.lo] 错误 127
./libtool --mode=compile gcc -O2 -I. -c ./cjpeg.c
make: ./libtool:命令未找到
make: *** [cjpeg.lo] 错误 127
解决方法
cp /home/work/xxl/libtool/share/libtool/config/config.guess .
cp /home/work/xxl/libtool/share/libtool/config/config.sub .
4、安装 libpng
libpng-1.2.16.tar.gz
tar -zxf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure –prefix=/home/work/xxl/libpng
make
make install
5、安装 freetype
freetype-2.3.4.tar.gz
tar -zxf freetype-2.3.4.tar.gz
cd freetype-2.3.4
mkdir -p /usr/local/freetype
./configure –prefix=/home/work/xxl/freetype
make
make install
6、安装
GD
wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/
gd-2.0.33.tar.gz
tar -zxf
gd-2.0.33.tar.gz
cd
gd-2.0.33
mkdir -p /usr/local/
gd2
./configure –prefix=/home/work/xxl/
gd2 –with-jpeg=/home/work/xxl/jpeg6/ –with-png=/home/work/xxl/libpng/ –with-zlib=/home/work/xxl/zlib/ –with-freetype=/home/work/xxl/freetype/
make
make install
7、
[php安装目录]/bin/phpize
Java代码
./configure --with-php-config=[php安装目录]/bin/php-config --with-jpeg=[jpeg-6b安装目录] --with-png=[libpng安装目录] --with-freetype=[freetype安装目录] --with-gettext=[gettext安装目录] --with-
gd=[
gd安装目录]
make
make install
修改php.ini文件加载
gd组件,向extension_dir指向的路径里面添加gd.so,并且增加一行代码 extension=
gd.so
8、重启apache。
然后通过phpinfo()就可以看到支持gd了。
然后是第二件事,由于linux下没有字符集,还需要下载:
1、添加linux的字库。拷贝simsun.ttc simhei.ttf(可以网上下载)两个文件到linux的指定目录下,如: ~/xxl//share/fonts/TrueType/
2、修改/jpgraph/src/目录下面的jpg-config.inc.php
3、上面完成后就可以支持中文了(解决了jpgraph error 25409)。
4、画曲线图
效果如下:
另外,要想在背景图上面显示节点的坐标,需要将$graph-> Add($lineplot);写在 $lineplot=new LinePlot($ydata);下面,如果写在最下面 就不会显示坐标。。这个原因还不知道。
转载于:https://blog.51cto.com/xuxueliang/963634