|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
会HTML吗?会,我能编好几个大表格排板的网页啦! 在进修了之前两篇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)。
当封闭缓存后,调试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 = <name-of-log-file> 指定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版权一切,转载时请以链接模式注明原始出处及本声明,感谢。
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言, |
|