我在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来检查是否可以解决该问题。从命令行调用texvc目录中的extensions/Math/math可执行文件似乎可以完成其工作。我显然已经检查了所有其他可执行文件(latexdvipng等)是否可以正常工作。

当我尝试从Wiki渲染数学时,会在*.tex中创建相应的images/tmp文件,并在其中包含正确的乳胶代码,但没有其他反应。

该问题似乎与texvc调用latexdvipng时遇到问题有关。

是什么导致此问题,如何解决?

最佳答案

好吧,我知道了。基本上,任何shell命令都是由安全过滤器传递的。因此在实践中,texvc由Mediawiki通过bin/ulimit4.sh执行:

#!/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随附的版本更多。

09-06 08:11