试图通过php执行fop-';Can';t连接到Windows服务器';
我在Mac OSX 10.6上, 我正在尝试从Joomla PHP站点生成PDF,使用exec通过以下方式调用fop:试图通过php执行fop-';Can';t连接到Windows服务器';,windows,remote-access,apache-fop,smb,cifs,Windows,Remote Access,Apache Fop,Smb,Cifs,我在Mac OSX 10.6上, 我正在尝试从Joomla PHP站点生成PDF,使用exec通过以下方式调用fop: exec("fop -fo /temp/sample.fo -pdf /temp/doc".$now.".pdf > /temp/stdout.log 2> /temp/stderr.log"); 但在错误日志中我看到: Sat Jan 7 10:36:43 Georges-Mac.local java[8642] <Error>: kCGErr
exec("fop -fo /temp/sample.fo -pdf /temp/doc".$now.".pdf > /temp/stdout.log 2> /temp/stderr.log");
但在错误日志中我看到:
Sat Jan 7 10:36:43 Georges-Mac.local java[8642] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Exception in thread "main" java.lang.InternalError: Can't connect to window server - not enough permissions.
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.loadLibraries(Toolkit.java:1605)
at java.awt.Toolkit.<clinit>(Toolkit.java:1627)
at java.awt.Color.<clinit>(Color.java:263)
at org.apache.xmlgraphics.java2d.GraphicContext.<init>(GraphicContext.java:88)
at org.apache.fop.render.intermediate.IFGraphicContext.<init>(IFGraphicContext.java:42)
at org.apache.fop.render.intermediate.IFRenderer.<init>(IFRenderer.java:128)
at org.apache.fop.render.RendererFactory.createRendererForDocumentHandler(RendererFactory.java:313)
at org.apache.fop.render.RendererFactory.tryIFDocumentHandlerMaker(RendererFactory.java:290)
at org.apache.fop.render.RendererFactory.createRenderer(RendererFactory.java:270)
at org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:69)
at org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:130)
at org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:102)
at org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:359)
at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:105)
at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:101)
at org.apache.fop.apps.Fop.<init>(Fop.java:79)
at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:271)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:109)
at org.apache.fop.cli.Main.startFOP(Main.java:174)
at org.apache.fop.cli.Main.main(Main.java:205)
Sat Jan 7 10:36:43 Georges-Mac.local java[8642]:kCGErrorFailure:设置断点@cgerorbreakpoint(),以便在记录错误时捕获错误。
线程“main”java.lang.InternalError中出现异常:无法连接到Windows服务器-权限不足。
位于java.lang.ClassLoader$NativeLibrary.load(本机方法)
位于java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
位于java.lang.Runtime.loadLibrary0(Runtime.java:823)
位于java.lang.System.loadLibrary(System.java:1045)
运行(LoadLibraryAction.java:50)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.awt.Toolkit.loadLibraries(Toolkit.java:1605)
位于java.awt.Toolkit.(Toolkit.java:1627)
在java.awt.Color.(Color.java:263)
位于org.apache.xmlgraphics.java2d.GraphicContext。(GraphicContext.java:88)
位于org.apache.fop.render.intermediate.IFGraphicContext。(IFGraphicContext.java:42)
位于org.apache.fop.render.intermediate.IFRenderer.(IFRenderer.java:128)
位于org.apache.fop.render.renderFactory.CreateRenderForDocumentHandler(renderFactory.java:313)
位于org.apache.fop.render.renderFactory.tryIFDocumentHandlerMaker(renderFactory.java:290)
位于org.apache.fop.render.RendererFactory.createRenderer(RendererFactory.java:270)
位于org.apache.fop.area.RenderPagesModel。(RenderPagesModel.java:69)
位于org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:130)
位于org.apache.fop.area.AreaTreeHandler(AreaTreeHandler.java:102)
位于org.apache.fop.render.renderFactory.createFOEventHandler(renderFactory.java:359)
位于org.apache.fop.fo.FOTreeBuilder(FOTreeBuilder.java:105)
位于org.apache.fop.apps.fop.createDefaultHandler(fop.java:101)
在org.apache.fop.apps.fop.(fop.java:79)
位于org.apache.fop.apps.FopFactory.newFop(FopFactory.java:271)
位于org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:109)
位于org.apache.fop.cli.Main.startFOP(Main.java:174)
位于org.apache.fop.cli.Main.Main(Main.java:205)
有关于如何授予对“窗口服务器”的访问权限的提示吗?或者解决方法?在命令行上,将
要做到这一点,您可能需要使用启动脚本,而不是使用启动脚本。啊,是的,我忘记了那个开关
-Djava.awt.headless=true