【发布时间】:2020-10-10 12:52:02
【问题描述】:
我正在尝试从 Apache for Windows 上的 CGI 运行 gswin64c.exe。我的程序调用gswin64c.exe(我可以在任务管理器中看到它)但它永远挂在那里。
我的 Lazarus (FreePascal) 程序这样称呼它:
lProcess.Executable:='C:\Program Files\gs\gs9.27\bin\gswin64c.exe';
lProcess.Options := [poWaitOnExit];
lProcess.Parameters.Add('-dINITDEBUG');
lProcess.Parameters.Add('-dNOSAFER');
lProcess.Parameters.Add('-dNOGC');
lProcess.Parameters.Add('-dNOPAUSE');
lProcess.Parameters.Add('-dBATCH');
lProcess.Parameters.Add('-dDisplayResolution=600');
lProcess.Parameters.Add(lPaperSize);
lProcess.Parameters.Add('-sDEVICE=mswinpr2');
lProcess.Parameters.Add('-sOutputFile="%printer%' + APrinter + '"');
lProcess.Parameters.Add('-sstdout=salida.out');
lProcess.Parameters.Add('-sstderr=salida.err');
lProcess.Parameters.Add(lFile);
如您所见,我添加了-dINITDEBUG、-sstdout 和-sstderr 参数以将一些信息输出到外部文件。使用以下内容生成文件salida.out:
START 0 1471928 174522 1310688 29492 true 565 3 <0>
GPL Ghostscript 9.27 (2019-04-04)
Copyright (C) 2018 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
END PROCS 1 1520776 223987 1330888 35436 true 671 3 <0>
END FONTDIR/ENCS 2 1549424 257612 1330888 37932 true 681 3 <0>
END DEVS 2 1589024 292939 1330888 37932 true 685 3 <0>
END STATD 3 1609224 310667 1330888 40828 true 690 3 <0>
END GS_FONTS 5 1678272 386498 1330888 40828 true 719 3 <0>
END BASIC COLOR 5 1698472 396103 1330888 40828 true 735 3 <0>
END IMAGE 6 1698472 404147 1330888 40828 true 740 3 <0>
BEGIN RESOURCES 15 2541832 1191647 1436040 146700 true 761 4 <0>
END CATEGORY 15 2541832 1195766 1436040 146996 true 762 5 <0>
END GENERIC 16 2572068 1220038 1436040 146996 true 764 4 <0>
END FIXED 17 2592268 1237641 1436040 146996 true 764 4 <0>
END MISC 17 2592268 1249425 1436040 146996 true 764 4 <0>
END ENCODING 18 2652868 1306819 1436040 150634 true 764 4 <0>
END INITFILES 41 4054488 2645409 1436040 153496 true 982 4 <0>
C:\Program Files\gs\gs9.27\bin/Fontmap 42 4054488 2650897 1456240 158774 true 983 4 <1>
C:\Program Files\gs\gs9.27\lib/Fontmap 43 4115088 2687451 1456240 158774 true 983 4 <1>
C:\Program Files\gs\gs9.27\fonts/Fontmap 43 4115088 2698191 1456240 158774 true 983 4 <1>
%rom%Resource/Init/Fontmap 44 4135288 2712349 1456240 158774 true 983 4 <1>
%rom%lib/Fontmap 45 4155488 2730865 1456240 158774 true 983 4 <1>
c:/gs/gs9.27/Resource/Init/Fontmap 46 4175688 2745031 1456240 158774 true 983 4 <1>
c:/gs/gs9.27/lib/Fontmap 46 4175688 2755755 1456240 158774 true 983 4 <1>
c:/gs/gs9.27/Resource/Font/Fontmap 47 4195888 2769921 1456240 158774 true 983 4 <1>
c:/gs/fonts/Fontmap 47 4216088 2784072 1456240 158774 true 983 4 <1>
END FONTS 48 4216088 2794885 1456240 158774 true 982 4 <0>
但没有别的。
顺便说一句,我使用完全相同的参数创建了一个命令行程序,它按预期工作。
有人在 Windows 上使用 Apache2 CGI 中的gswin64c 遇到过类似问题吗?
注意:在这里提问之前,我在 Lazarus 论坛上创建了一个长线程,请参阅:https://forum.lazarus.freepascal.org/index.php/topic,51727.0.html
【问题讨论】:
标签: windows apache ghostscript