0

0

jpgraph安装配置教程详细介绍

php中文网

php中文网

发布时间:2016-06-21 08:53:30

|

1266人浏览过

|

来源于php中文网

原创

  在学习了之前两篇php jpgraph安装教程后,只要jpgraph类库通过了php安装环境的验证后,就可以正式安装jpgraph类库了,其实jpgraph类库的安装非常方便,只要将下载的jpgraph类库解压缩至已搭建的php环境下的相关目录下即可。jpgraph安装过程的关键在于php配置文件php.ini与jpgraph配置文件jpg-config.inc.php配置。下面我根据jpgraph类库的英文文档进行说明,希望对使用jpgraph类库的php开发者有所帮助。

  jpgraph类库安装

  当通过之前的jpgraph类库安装条件的验证后,就可以安装jpgraph类库了。所谓的安装其实就是将文件解压拷贝到一个你的PHP程序可以找到的目录结构中,在Unix系统中很常见的安装目录是/usr/share/php/,在Windows系统中没有标准的安装目录,你需要根据你安装配置PHP环境时设定的目录自行决定。

  这里非常重要的一点是当你使用PHP语句require_once或include时能够找到jpgraph类库。推荐jpgraph的安装目录结构为jpgraph/

  假设你已将下载jpgraph类库之Unix系统的tmp目录下,那么在Unix服务器上的安装命令如下

1
2
3
4
5

root:/tmp> tar xzf jpgraph-2.5.tar.gz

root:/tmp> cp -r jpgraph-2.5 /usr/shar/php/

root:/tmp> ln -s /usr/shar/php/jpgraph-2.5 /usr/shar/php/jpgraph

  最后一条Unix命令的意思是为实际的jpgraph版本类库目录位置建立一个连接。当我们需要在不同的目录用到jpgraph类库时,就不需要在每个目录下都放一个jpgraph类库,只需要在固定目录中存放jpgraph类库,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

  PHP开发服务器上配置jpgraph类库的说明

  配置php.ini配置文件

  配置PHP的内存

  在绝大多数默认配置的PHP环境中,都没有足够的内存供jpgraph程序使用,由于其需要很多内存,所以在配置时最少需要32M内存。打开php.ini配置文件并定位到

1

memory_limit = xx

xx是具体的数字,将其修改为32MB,即

1

memory_limit = 32M

  jpgraph类库使用内存特别说明:当你需要创建非常大的图片时,这些内存可能是不够的,比如,假设你需要创建一个1200*1024大小的图片。意味着,就光其自身就需要1200*1024*4字节,即4.7MB RAM,当php jpgraph类库在内部处理时大约需要三倍的内存,也就是说最少需要15MB RAM。如果再需要内存加载PHP和整个jpgraph类库并动态执行和解析,那意味着另外需要至少15MB RAM。如果图片非常复杂,需要创建更多的对象(一个典型的例子是大甘特图)那么就需要双倍的内存即64MB RAM。(其实个人觉得这段是告诉你使用jpgraph类库时如何根据需要处理的图片大小计算出大致的内存)。

  配置PHP最大执行时间

  默认配置的PHP最大执行时间非常短。通常都在10秒左右。对于一般的互动或纯文本处理是足够的。但是处理大型复杂的图片需要更多时间。正因为这个理由,PHP最大执行时间最少需要增加到20秒。(根据你的图片复杂度和相关数据的处理,需要增加到30-40秒)

  与之相对应需要修改php.ini配置文件中的max_execution_time选项,即将

1

max_execution_time = xx

修改为

1

max_execution_time = 30

  禁止缓存输出

  打开php.ini配置文件,找到output_buffering选项,并将选项修改为

1

; output_buffering = xx

也就是注释掉缓存输出。

  禁止缓存输出的原因是在PHP开发期间,我们需要能够看到jpgraph类库潜在的错误信息,而开启缓存会阻止错误信息及时出现。要理解这些需要知道一些HTTP协议的基本原则。特别是MIME编码数据是如何工作的。

  下面简单描述下HTTP协议:

  1、当你在游览器中输入一个URI地址时,游览器主要通过GET或POST命令从服务器上请求数据。

  2、服务器回复一个数据流(或者数据不可用时会返回一个错误信息)。数据流中的前缀MIME信息告知游览器如何解析数据。最常用的类型是text/html。即告知游览器以嵌入HTML编码的纯文本方式解析数据。

  当数据要求被解析为图片时,数据流的前缀MIME信息是image/png或image/jpeg。当游览器受到MIME信息时就会以指示的图片编码格式解析下面的图像数据。

  这里需要特别注意的是每台服务器只能回复一个MIME类型。这是进一步理解生成动态图形的关键。这就解释了为什么运行PHP程序的服务器发送的头部信息首先显示其数据需要被解释为图片而不是同时发送图片和文字。

  现在来解释下为何输出缓冲会使得调试jpgraph类库会更加困难。

  通常PHP程序的所有输出都是有顺序的,比如首先必须发送头部信息然后再发送数据。如果没有头部信息输出或输出了没有头部信息的文本,游览器会解析为text/html格式。缓存的一个目的是允许数据存放一段时间,当决定发送什么类型的头部信息时,发送完头部信息后再将数据输出。

  开启缓存可能会发送下面的情况

  1、程序开始执行,图片开始生成。

  2、此时你的PHP程序可能会产生一些小问题。这些错误信息没有被直接输出至游览器而是允许你将这些错误信息存放至缓存区中。当之后程序开始输出图片头部信息和图片数据时其会将这些数据添加至之前存放那些错误信息的缓存区中。

  3、当游览器受到这个头部信息显示需要将下面的数据解析为图片时,由于这些图片数据混合了之前的错误信息,解析这些数据时就会失败同时出现红叉(FireFox)。

小麦企业网站展示系统1.1
小麦企业网站展示系统1.1

小麦企业网站展示系统介绍:一、安装使用将xiaomai.sql导入数据库二、后台登录后台帐号,密码默认都是admin,config.php 配置文件可根据自行需要修改,IP地址,数据库用户名,密码,及表名后台目录默认admin,支持自行任意修改目录名三、注意事项1 本源码完全免费,采用伪静态,减少不必要的源码重复,速度更快,支持二次开发。2、注明本程序编码为UTF8,如发生乱码,请注意修改编码3、

下载

  当关闭缓存后,调试jpgraph程序时出错信息会及时输出至游览器,以便于你及时处理。

  开启适当的错误检查

  在这部分需要调整PHP错误报告级别。即使开启所有PHP错误报告等级,jpgraph类库也可以安全运行。

  错误等级设置为最高,即

1

error_reporting = E_ALL E_STRICT

  注意:除了错误等级之外,最好下面的选项也进行配置

1
2
3
4
5
6
7
8
9
10
11
12
13

zend.ze1_compatibility_mode = Off
zend引擎的兼容性可能会在使用jpgraph类库时出现问题

implicit_flush = On
此选项会降低性能同时在产品服务器上不应该使用。但是开启此选项会将所有输出尽可能输出至游览器编译尽快调试。

allow_call_time_pass_reference = Off

display_errors = On
确认显示所有错误信息

display_startup_errors = On
确保PHP抛出的任何初始化错误可及时报告。

  设置默认时区

  自PHP5.2开始如果没有设定默认时区时使用jpgraph类库会出现错误。你只需要打开php.ini配置文件,定位到date.timezone =修改为Asia/Shanghai即可。

  配置jpg-config.inc.php

  除了jpgraph标准配置中所说的安装和配置字体支持等,这里只有一个重要的jpgraph配置是专门针对开发服务器的,那就是配置错误信息输出的本地化。

  jpgraph 3.x版本支持三种选项

  1、en(英文错误信息)

  2、de(德文错误信息)

  3、prod(应用在产品服务器上)

  只需要打开jpgraph类库配置文件jpg-config.inc.php,定位到

1
2
3


define('DEFAULT_ERR_LOCALE','en');
?>

进行修改即可。

  除了通过修改jpgraph类库配置文件还可通过在每个程序代码中动态调用进行修改,方法如下

1
2
3


JpGraphError::SetErrLocale($aLocale);
?>

  产品服务器上的jpgraph类库及PHP配置说明

  在这部分由于面向的最终用户是访问者,所以需要进行部分修改,大部分和在开发服务器上的jpgraph配置一致,主要有两方面的jpgraph配置不同

  开启适当的错误等级

  在产品服务器上显示所有错误信息不是一个明智的决定,应该禁止显示所有错误信息并将其保存在日记文件中。

  所以修改php.ini配置文件中的如下选项

1
2
3
4
5
6
7

display_errors = Off

display_startup_errors = Off

log_errors = On

error_log =

指定log日志文件的存放目录。

  配置jpg-config-.inc.php

  主要是将jpgraph类库的错误信息选项配置为prod,即

1
2
3


define('DEFAULT_ERR_LOCALE','prod');
?>

  调整PHP include path

  主要通过两种方式修改,一种是修改PHP配置文件php.ini并定位到include_path选项,增加jpgraph类库的安装目录,另一种是通过php_ini_set函数在PHP代码头部增加include_path。

  修改include_path主要是为了使用include或require_once包含jpgraph.php文件的便捷性和统一性。

  至此,jpgraph类库的详细安装配置教程就介绍完了,通过修改PHP配置文件和jpgraph配置文件可以为今后使用jpgraph类库打下坚实的基础。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。



相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

928

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

307

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

183

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

29

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

103

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

54

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

764

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

92

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号