本页介绍了各种常见的运行时出现问题语义媒体Wiki以及如何修复它们。不在本列表中的问题可以通过以下方式解决SMW的支持设施或者可能是您希望的软件错误报告.
数据库错误:“未知/不存在表”[编辑]
很可能是数据库没有正确初始化。转到特殊页面“特殊:SMWAdmin”在您的wiki上查看说明。如果全部失败,请运行维护脚本
然后
如果您已经存储了注释。
数据库错误:“非法排序”[编辑]
- 在发出语义查询时,我收到一些数据库错误,这些错误涉及一些“非法排序”。否则,似乎可以存储注释。
MediaWiki和SMW的数据库表是用不同的设置生成的。要解决此问题,请首先尝试运行维护脚本
然后
如果这没有帮助,则需要调查数据库的排序规则/字符集设置。要做到这一点,请使用DB前端工具或SQL命令
查找的排序规则/字符集,例如“categorylinks”表,并将数据库的默认排序规则/角色集更改为这些设置,如MySQL手册最后,再次运行上述维护脚本。
数据库错误:“错误:5内存不足”[编辑]
- 尝试编辑页面时,我收到MediaWiki错误“遇到异常,类型为“RuntimeException””
这是MySQL数据库后端的一个问题。Semantic MediaWiki无法解决此问题,因为数据库后端本身由于技术限制而拒绝(或者更好地说无法回答)请求。建议参考MySQL文档,看看增加“buffer_size”是否有助于缓解遇到的问题。1
错误或不完整的数据[编辑]
SMW使用的数据可能与wiki中的页面内容不同步。要检查这一点,请编辑受影响的页面并使用Special:Browse查看其数据现在是否正确。要自动修复所有页面,请阅读上的帮助页修复SMW的数据。如果这不是您的问题,请查看此页上的下一项。
自定义命名空间中缺少数据[编辑]
- 在我的自定义名称空间(例如“Portal:”)中的页面上输入的数据将被忽略,并且查询不会显示我自定义名称空间的任何页面。
确保您的自定义命名空间列在配置参数带有语义链接的$smwgNamespaces
定义要为哪些命名空间评估语义链接和注释。如果失败,请使用带有语义链接的$smwgNamespaces
.
非英语语言失败[编辑]
- 在我的非英语安装中,即使我遵循这些示例,属性也不起作用。
虽然SMW通常提供英文别名,但您可能需要为特殊属性和名称空间使用本地化名称。每种语言的翻译字符串和别名位于languages子目录中。
将以下内容添加到“LocalSettings.php”文件可能会有所帮助:
设置语言环境( LC_全部, “C.UTF-8” );
空白或不完整页面[编辑]
- 安装SMW后,部分或全部页面根本不显示,或者只是显示不完整。
这通常是由于某些站点的内存默认设置受到限制,而不是由SMW直接引起的(任何额外的扩展代码都可能导致这种情况)。添加线条
并可能根据您的需要调整该值。MediaWiki的标准值是50M,超过100M的值几乎没有用处。
大型查询无明显原因中断[编辑]
很可能您所处的环境仅支持较小的URL长度限制,使用苏霍辛这意味着,如果URL超过此限制,请求将被拆分,从而导致查询中断。要解决此问题,必须设置变量“suhosin.get.max_value_length”
值为1024
或服务器上“php.ini”文件中的更高版本。
解析程序功能无法使用StructuredDiscussions(Flow)扩展在wiki上工作[编辑]
- 当在Semantic MediaWiki之前的“LocalSettings.php”中启用StructuredDiscussions(Flow)扩展时,在调用“rebuildDate.php“时,不会注册Semantic-MediaWiki的解析器函数。内联查询被误解为带有错误消息的注释:“错误消息在注释过程中不允许属性链”。2
为了缓解这个问题,您需要确保在Semantic MediaWiki之后调用StructuredDiscussions(Flow)扩展,例如。
启用语义( 'example.org' );
wf加载扩展( “流量” );
/tmp/smw_xxx.tmp
在Apache上不可读[编辑]
- 当运行“runJobs.php”时,我得到一个运行时异常错误
smw.change传播调度
“使用/tmp/smw_xxx.tmp
,三例如2020-11-14 08:52:02 smw.changePropagationDispatch属性:DeltaComment_new dataFile=/tmp/smw_chgprop_6slrhnape3u0_0.tmp checkSum=5773585327861b70a55ed6b8d78ccc rootJobIsSelf=1 rootJobSignature=dfecb1d880ba46d7b06e352d0c0a3589cc8f1426 rootJobTimestamp=20201113073543 namespace=102 title=DeltaComment _new requestId=8a9d604615bb17e6885716f(id=20912,timestamp=202011114085202)t=2 error=RuntimeException:/tmp/smw_chgprop_6slrhnape3u0_0.tmp不可读。
为了缓解此问题,您可能需要设置PrivateTmp=错误
为您的Apache。4
另请参见:PHP:/tmp何时不是/tmp?
调用未定义的函数SMW\SPARQLStore\curl_init()
[编辑]
- 当尝试将Semantic MediaWiki设置为SPARQL存储时,我在运行“setupStore.php”时收到以下消息:
SMW\SPARQLStore\curl_init()
.5
为了缓解这个问题,您需要安装PHP Curl扩展。
另请参见[编辑]