【问题标题】:php shell_exec() through cygwinphp shell_exec() 通过 cygwin
【发布时间】:2009-01-05 20:23:15
【问题描述】:

我写了一个通过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()命令。如果这是可能的,有人能指出我正确的方向吗?

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

【问题讨论】:

    标签: php latex cygwin pdflatex shell-exec


    【解决方案1】:

    对于正在想通过 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”

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢!我不得不稍微更改代码,但这是我需要的信息。
      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 2012-12-25
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2011-07-15
      相关资源
      最近更新 更多