故障排除

来自semantic-mediawiki.org
跳转到:航行,搜索
故障排除
解释各种常见的运行时出现问题语义媒体Wiki以及如何修复它们。
目录

本页介绍了各种常见的运行时出现问题语义媒体Wiki以及如何修复它们。不在本列表中的问题可以通过以下方式解决SMW的支持设施或者可能是您希望的软件错误报告.

数据库错误:“未知/不存在表”[编辑]

  • 预览或存储具有语义属性的文章会导致数据库错误。

很可能是数据库没有正确初始化。转到特殊页面“特殊:SMWAdmin”在您的wiki上查看说明。如果全部失败,请运行维护脚本

php rebuildData.php-vfp

然后

php(电话) 重建数据.php(电话) -

如果您已经存储了注释。

数据库错误:“非法排序”[编辑]

  • 在发出语义查询时,我收到一些数据库错误,这些错误涉及一些“非法排序”。否则,似乎可以存储注释。

MediaWiki和SMW的数据库表是用不同的设置生成的。要解决此问题,请首先尝试运行维护脚本

php rebuildData.php-vfp

然后

php rebuildData.php-v

如果这没有帮助,则需要调查数据库的排序规则/字符集设置。要做到这一点,请使用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直接引起的(任何额外的扩展代码都可能导致这种情况)。添加线条

$wg内存限制 = “6400万”;

并可能根据您的需要调整该值。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扩展。

另请参见[编辑]



工具书类

  1. ^ | 语义媒体Wiki:GitHub问题高:窄:2130
  2. ^ | 语义媒体Wiki:GitHub问题高:轻:4954
  3. ^ | 语义媒体Wiki:GitHub问题高:轻:4883
  4. ^ | max-oberberger:如何禁用debian 9私有tmp
  5. ^ | 语义媒体Wiki:GitHub问题高度:最小宽度:5061