我在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
可执行文件似乎可以正常工作。我显然已经检查过所有其他可执行文件(latex
,dvipng
等)是否正常工作。
当我尝试从我的wiki渲染数学时,相应的*.tex
文件在images/tmp
中创建,其中包含正确的乳胶代码,但没有其他任何事情发生。
问题似乎与texvc
无法调用latex
和dvipng
有关。
可能导致此问题的原因以及如何解决?
答案 0 :(得分:2)
好吧,我明白了。基本上,任何shell命令都由安全过滤器传递。所以在实践中,texvc
由Mediawiki通过bin/ulimit4.sh
执行:
#!/bin/bash
ulimit -t $1 -v $2 -f $3
eval "$4"
其中$4
是正在运行的texvc
命令,$2
是此进程允许的内存量。默认情况下,内存为102400 KB(正好为100 MB),这似乎不足以运行此进程。可以使用变量LocalSettings.php
在$wgMaxShellMemory
中设置内存量。在我的情况下,我将其设置为300MB,$wgMaxShellMemory = 307200;
,这似乎已经足够了。
为什么这个生成png的小过程需要这么多内存我不知道。
更新到Ubuntu 14.04之后停止工作的原因可能与latex
,dvipng
,convert
的新发布版本有关,需要比Ubuntu 12.04附带的版本更多的内存。