按照Gpgraph的使用与配置--第一篇的方法使用Gpgraph,运行代码发现只能正常运行一次,再次运行代码时发现浏览器不能正常输出图片。纠结半天后发现是缓存的问题。
找到jpg-config.inc.php的第38行:define('CACHE_DIR','/jpgraph_cache/');这个CACHE_DIR是设置的缓存目录,找到这个目录。我的是在C盘下,打开C盘会发现多了个tmp文件夹,打开tmp会发现有个jpgraph_cache文件夹,这个就是缓存文件。通过查看属性会发现tmp的文件夹为只读。这也就是问题所在,再次运行代码时,由于缓存是只读的,无法写入,由于权限问题导致的程序不能再次正常运行。临时的解决方法就是可以把tmp文件夹删掉即可。但是这并不是最根本的解决方法,因为这么做,每次运行代码后都要去删除tmp缓存文件夹,太麻烦。解决方法就是禁止缓存输出。禁止缓存输出的原因是在PHP开发期间,我们需要能够看到jpgraph类库潜在的错误信息,而开启缓存会阻止错误信息及时出现。
解决步骤:
1. 打开php.ini配置文件,找到output_buffering选项,并将选项修改为
output_buffering =xx,也就是注释掉缓存输出。
2. 打开jpg-config.inc.php,修改相应的