php shell_exec()通过cygwin

时间:2009-01-05 20:23:15

标签: php latex cygwin pdflatex shell-exec

我编写了一个脚本,通过pdftex编译LaTeX代码。问题是pdftex只能在linux上运行。

我正在使用shell_exec()完成此任务。

我真的没有能力将Linux机器人设置为Web服务器。我有我的客户端计算机,但它是在我无法控制的防火墙后面。我确实控制了我的工作服务器,它运行SBS 2003,运行apache和php的Windows 2000虚拟机。据我所知,您无法在Windows中安装pdftex,如果可以,则无法在shell_exec()中使用。

有没有办法解决这个与cygwin?我可以在cygwin中安装pdftex,然后配置php在cygwin中运行shell_exec()命令。如果这是可能的,有人可以指出我正确的方向吗?

另外,我想知道是否还有其他行动方案。我不介意购买托管,但任何共享托管计划都不会支持该应用程序。它必须是虚拟或专用的托管计划;我买不起的东西。

2 个答案:

答案 0 :(得分:3)

对于那些 想知道如何通过Cygwin运行shell_exec()的人,请查看PHP手册中注释的链接:

http://us.php.net/manual/en/function.shell-exec.php#68647

 $result = shell_exec("C:\cygwin\bin\bash.exe --login  -c '/cygdrive/c/cygwin/bin/convert.exe --version'");
  

密钥是“--login”选项,它附加了所有必需的公共项   $ PATH的cygwin二进制文件和库路径。没有这个选项的一些   链接到其他库的cygwin二进制文件(如ImageMagick   链接到X11的二进制文件将不起作用,您可能会看到错误   像“找不到cygX11-6.dll,无法启动convert.exe”

答案 1 :(得分:2)

pdfTeX在Windows上运行得很好,不需要Cygwin。试试MiKTeX