php shell_exec()通过cygwin
-
03-07-2019 - |
题
我编写了一个脚本,通过 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()
命令。如果这是可能的,有人可以指出我正确的方向吗?
另外,我想知道是否还有其他行动方案。我不介意购买托管,但任何共享托管计划都不会支持该应用程序。它必须是虚拟或专用的托管计划;我无法承受的。
解决方案
pdfTeX在Windows上运行得很好,不需要Cygwin。试试 MiKTeX 。
其他提示
对于 想知道如何通过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'");
关键是“ - 登录”附加所有必需的共同的选项 $ PATH的cygwin二进制文件和库路径。没有这个选项的一些 链接到其他库的cygwin二进制文件(如ImageMagick 链接到X11的二进制文件将不起作用,您可能会看到错误 例如“未找到cygX11-6.dll,无法启动convert.exe”
不隶属于 StackOverflow