Texvc无法在Mediawiki中呈现Latex数学公式。

3

我在我的MediaWiki 1.19中安装了Math扩展。在我将Ubuntu Server从12.04更新到14.04后,似乎有些东西搞砸了,它停止工作了。当我尝试显示<math></math>标签之间的任何内容时,基本上会出现以下错误:

 Failed to parse (PNG conversion failed; check for correct installation 
 of latex and dvipng (or dvips + gs + convert))

我已尝试了在线上能找到的通用故障排除方法,并重新编译了texvc以检查问题是否得到解决。在从命令行调用时,位于extensions/Math/math目录中的texvc可执行文件似乎能够正常工作。我显然已经检查了所有其他可执行文件(latexdvipng等)是否按预期工作。
当我尝试从我的维基渲染数学公式时,在images/tmp中创建了相应的*.tex文件,其中包含正确的LaTeX代码,但没有任何其他操作。
问题似乎与texvc无法调用latexdvipng有关。
是什么原因导致了这个问题?我该如何解决?
1个回答

2

我明白了。基本上,所有的shell命令都会通过安全过滤器进行传递。因此,在实践中,texvc是通过bin/ulimit4.sh由Mediawiki执行的:

#!/bin/bash

ulimit -t $1 -v $2 -f $3
eval "$4"

其中$4是实际运行的texvc命令,$2是允许此进程使用的内存量。默认提供的内存为102400 KB(正好100MB),似乎不足以运行此进程。可以在LocalSettings.php中使用变量$wgMaxShellMemory设置内存量。在我的情况下,我将其设置为300MB,$wgMaxShellMemory = 307200;,这似乎已经足够了。

我不知道为什么生成PNG的这个小进程需要这么多内存。

更新到Ubuntu 14.04后为什么会停止工作,可能是由于某些新版本的latexdvipngconvert等需要比Ubuntu 12.04随附的版本更多的内存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接