在Server2012 R2上使用PHP运行批处理文件以编译Latex文档
我在这个问题上搜索了几个小时: 我想在运行Server2012 R2和IIS以及PHP的Web服务器上编译一个Latex文档。 我创建了一个latex.php:在Server2012 R2上使用PHP运行批处理文件以编译Latex文档,php,batch-file,latex,Php,Batch File,Latex,我在这个问题上搜索了几个小时: 我想在运行Server2012 R2和IIS以及PHP的Web服务器上编译一个Latex文档。 我创建了一个latex.php: <?PHP error_reporting(E_ALL); try { echo system('build.bat'); } catch (Exception $e) { echo $e->getMessage(); } ?> 如果我直接在资源管理器中的服务器上启动该批处理,则
<?PHP
error_reporting(E_ALL);
try {
echo system('build.bat');
}
catch (Exception $e) {
echo $e->getMessage();
}
?>
如果我直接在资源管理器中的服务器上启动该批处理,则该批处理工作得非常完美。如果我用PHP启动ist,它什么也不做。Latex上没有日志项,windows事件查看器中没有日志项。
这就像命令没有执行一样
但是:如果我添加命令“md testfolder”,这就行了!!??!所以批处理被执行了
- 该文件夹是所有人的完全权限,位于我的Web空间根目录中李>
- 我使用的是MikTex 2.9
- 编译.tex文件不会出错
- texify的路径在系统路径中(也使用批处理的完整路径进行测试)
有人知道如何获取更多信息吗?这里出了什么问题?将
暂停
放在批处理的末尾,看看它是否启动以及是否没有路径问题。路径中是否有authentic.exe
?如果未将完整路径放入authentic.exe
,即“C:\some path\dir\authentic.exe”--pdf--synctex=1--clean“test.tex”
authentic.exe在路径中,是的。暂停不起作用,因为PHP没有打开一个窗口!在系统路径中?或批处理文件所在的路径?你能在authentic.exe之前尝试调用吗?还是完整的作证路径?是的,它在系统路径中。我还用完整的路径测试了它。也试过打电话。没有任何更改…好的,您能将输出传输到文件以便我们可以看到结果吗<代码>“texify.exe”-pdf--synctex=1--clean“test.tex”>>output.txt
"texify.exe" --pdf --synctex=1 --clean "test.tex"