有使用Open Journal Systems期刊管理系统(OJS)的同学咨询,想修改一个页面模板,但是在对OJS系统进行二次开发时,页面和程序改了后,打开网址后页面却没有变化,修改没有起到效果,无论怎么刷新也是不行,这是怎么回事呢?
问题分析
经过丁老师对该问题和故障的分析,发现程序代码没有问题,应该不是由二次开发引起的故障。然后在服务端把相关文件进行了删除,但打开网址却还能正常显示,这时候丁老师大概明白了,这是由缓存引起的问题,即网页显示是读取的服务端缓存,二不是实时去调用程序去读取内容,这个时候我们只要找到这个缓存,去把他关闭就可以了。
解决方法
OJS系统是由PHP语言开发的,可能涉及的缓存包括:
1.Php自带的OpCache,需要在php.ini文件中关闭
opcache.enable=Off
opcache.enable_cli = Off2.Redis,是PHP常用的第三方存储缓存,Redis不是服务器必备,但可以检查一下服务器是否安装,如果安装的话可以停止服务
#Windows
redis-server --stop 或 redis shutdown
#Linux
systemctl stop redis3.Memcached,同Redis一样,也是第三方存储缓存。如果服务器安装,则可以关闭
systemctl stop memcached4.OJS自带的web_cache,这是OJS系统自带的页面缓存,默认为off不开启状态,如果为on开启状态的话,则修改模板和程序的话,不支持实时生效。可以在config.inc.php中进行配置。
web_cache = Off
web_cache_hours = 1全文总结
以上是关闭OJS系统缓存的方法,只要按照以上步骤,检查4个缓存是否开启并关闭,100%可以解决OJS系统的缓存问题,保证页面数据和变动实时生效。
丁老师从事学术软件研发十余年,可提供OJS系统的安装、维护、升级、Bug修复、二次开发等服务。
如需专业OJS系统技术服务,可以联系丁老师,同时也欢迎学术界的各位作者、学者、同行,针对学术软件信息化进行交流和咨询。
有同学在我们的期刊管理运营群里提问,在对OJS(open journal systems)二次开发的过程中,报了个500错误,打开错误日志后显示Uncaught Error: Class "pkp\controllers\jo...
近期有同学在问,OJS中已发表的文章,可以查看文章的浏览、访问量统计吗?如何查看呢?今天丁老师对这个问题进行解答。首先,OJS中是有统计功能的,支持对文章、期次、期刊的数据进行访问量进行统计,功能在左侧导航菜单Statistics模块下...
有使用Open Journal Systems(OJS)期刊系统的客户咨询,他们出版社使用的是OJS3.2版本的程序,很多最新的功能都没法用,而且已发布的文章,有很多Google学术都不再收录(不知道是不是因为版本太久的原因),并且系统...
OJS系统是业界最权威的期刊管理系统,具有期刊管理、文章发布、评审、出版集一体的全流程功能。使用OJS期刊管理系统发表的论文文章,支持对接谷歌学术(Google Scholar),可在谷歌学术中进行索引和查询。关于谷歌学术索引,您需要知...