有使用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期刊投稿系统切换为中文后,系统总是出现乱码,中文也没有正常显示,这是怎么回事呢丁老师?其实这个问题很常见,并且不止是中文,在OJS系统的多语言中,包括法语、德语、西班牙语、阿拉伯语、日语、韩语等语种,他们...
有同学咨询丁老师,在使用OJS期刊系统(Open Journal Systems)时,有些发布错的文章,或者是不想要的文章需要删除,可是在OJS的文章管理中,没有删除按钮,文章无法删除,这该怎么办呢?今天丁老师教大家OJS期刊系统删除文...
在丁老师从事OJS期刊管理系统(Open Journal Systems)的使用和研究过程中,经常被相关出版社和学术用户咨询最多的就是关于OJS邮件发送的问题,根据OJS系统的安装部署、实际运行、官方论坛反馈和使用经验,常见问题主要集中...
最近有一家秘鲁的出版社客户,在OJS软件的使用中,遇到了故障,插件页(plugin)一直在加载,页面一直在转圈,始终打不开,咨询了丁老师。故障图:初步分析:丁老师经过分析后,初步认为这是由第三方插件引起的故障,导致页面程序无法正常执行,...