最近有一家秘鲁的出版社客户,在OJS软件的使用中,遇到了故障,插件页(plugin)一直在加载,页面一直在转圈,始终打不开,咨询了丁老师。故障图:
初步分析:
丁老师经过分析后,初步认为这是由第三方插件引起的故障,导致页面程序无法正常执行,tinymce编辑器无法正常的初始化,前端JS报错。
根据客户提供的服务器信息,丁老师登录服务器查看了ojs系统运行的日志、数据库日志、以及程序错误日志,日志内容如下:
[06-May-2025 21:57:05 UTC] PHP Fatal error: Uncaught Error: Call to a member function getCurrent() on null in /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/lib/pkp/classes/site/VersionDAO.inc.php:103
Stack trace:
#0 /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/lib/pkp/classes/controllers/grid/plugins/PluginGridHandler.inc.php184): VersionDAO->insertVersion(NULL, true)
#1 /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/controllers/grid/settings/plugins/SettingsPluginGridHandler.inc.php(36): PluginGridHandler->loadCategoryData(Object(Request), 'generic', Array)
#2 /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/lib/pkp/classes/controllers/grid/CategoryGridHandler.inc.php(124): SettingsPluginGridHandler->loadCategoryData(Object(Request), 'generic', Array)
#3 /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/lib/pkp/classes/controllers/grid/CategoryGridHandler.inc.php(473): CategoryGridHandler->getGridCategoryDataElements(Object(Request), 'generic')
#4 /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/publi in /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/lib/pkp/classes/site/VersionDAO.inc.php on line 103
根据日志可以看出,是PluginGridHandler.inc.php这个程序出错,插件无法正常加载,继续往下看。
[06-May-2025 21:37:24 UTC] PHP Warning: require_once(OJSDynamicStatsPlugin.inc.php): failed to open stream: No such file or directory in /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/plugins/generic/ojsDynamicStats/index.php on line 11
[06-May-2025 21:37:24 UTC] PHP Fatal error: require_once(): Failed opening required 'OJSDynamicStatsPlugin.inc.php' (include_path='.:/opt/ecp-php74/lib/php') in /var/www/8a152391-1500-44f6-8b96-83b99c8204a6/public_html/plugins/generic/ojsDynamicStats/index.php on line 11
这个时候就能发现,原来是OJSDynamicStatsPlugin(OJS动态统计插件)的问题。该插件由客户自行安装,但是该插件的最新版本,与客户OJS系统版本不匹配,所以无法正常使用,最终导致整个OJS插件部分报错故障。
故障解决:
1.登录服务器,进入OJS主程序目录,找到该插件,删除该插件;
2.在数据库的plugin_settings中,删除该插件;
使用建议:
1.OJS系统的插件,大部分都是由第三方公司或机构开发的,随着OJS主程序版本的更新,插件也必须保持同步更新才能使用。如果插件没有开发更新为和OJS匹配的版本,插件是无法使用的,并且也会导致OJS主程序的故障;
2.OJS期刊投稿系统,已经满足了期刊投稿、评审、发布出版、数据库收录的主要功能,插件则是一些辅助性的、锦上添花的东西,如无必要,不建议开启;
3.插件不是越多越好,开启的插件越多,导致OJS系统出现故障的几率就越大。因此不建议开启多个插件,更不建议安装第三方来历不明的插件。
今天有做期刊的朋友问,OJS系统期刊支持线上投稿付费吗?就是说他只有在OJS系统中,线上付了款,才可以投稿,可以实现这种功能吗?作为OJS系统专业的开发人员,丁老师可以告诉你,这个功能OJS是支持的哦,不仅支持投稿付费,还支持多种支付方式。...
很多要做出版社创刊的小伙伴,特别是做海外出版社期刊运营,都来咨询丁老师,要做一个出版社的官网,但是学术界的网站和一般的企业官网不同,要求较高,网站规划和内容需要符合出版社、学术界的标准,这个官网应该怎么做呢?其实确实如此,作为一个期刊的主办...
有使用ojs系统的期刊出版社客户反馈,作者在提交文章时,点击后页面一直转圈,总是提交不成功,这是怎么回事呢?如下图:经过丁老师研究后发现,引起这种问题,可能是多个原因造成的,常见的问题原因有:1.OJS搭建安装的系统环境安装错误,不符合OJ...
今天有使用ojs系统做期刊的出版社客户咨询,OJS系统发布的文章页面,在Published日期里边,怎么显示了Updateon字段?怎么去掉呢?如图:丁老师经过对ojs分析后发现,Updateon字段是ojs系统中,每次对该文章更新后的时间...
影响谷歌学术收录(GoogleScholarIndexing)的原因也有很多,大部分是内容问题,针对谷歌学术对文章停止收录、删除收录等相关问题,可以联系丁老师进行咨询了解
OpenJournalSystems(OJS)是一个由PublicKnowledgeProject(PKP)开发的开源软件(OJS专题介绍),旨在帮助学术期刊实现其在线出版、管理和传播的过程。OJS支持从文章提交到最终发布的整个流程,并且提...
OJS期刊管理系统,导航栏可以在后台dashboard中自定义添加,如实现外部链接、自定义页面、二级菜单功能等(如图)。其中,OJS系统的导航菜单,也分为两种:一、OJS网站首页导航菜单。即OJS的网站首页(期刊索引页),相当于网站主页,这...
谷歌学术GoogleScholar(官网https://scholar.google.com)是谷歌推出的免费学术搜索引擎,可以用于检索全球范围内的学术文献、论文、专利、技术报告等专业内容。核心功能1.跨学科检索:覆盖自然科学、社会科学、人...