【问题标题】:php exec openoffice macro windows 7php exec openoffice 宏 windows 7
【发布时间】:2013-04-10 07:30:09
【问题描述】:

我在执行来自 php.ini 的命令时遇到问题。该代码直接在 Windows 上使用命令行可以正常工作。我还可以使用 php 执行测试命令来创建一个简单的空文本文件,但是当我尝试执行宏时没有任何反应。我也将代码放入一个bat文件并尝试执行bat文件和同样的事情,什么也没发生。我在错误日志或屏幕输出中没有收到任何错误。我正在使用 WAMP 安装。

我也尝试过以管理员身份运行 wamp 并为所有用户设置 soffice.exe 的完全访问权限。

关于如何解决此问题的任何想法?

感谢您的宝贵时间。

shell_exec('"C:/Program Files (x86)/OpenOffice.org 3/program/soffice.exe" -invisible -headless -norestore macro:///Standard.doc2html.SaveAsHTML("{MYPATH}/MYDOC.doc")');

{MYPATH}/MYDOC 是真实路径的缩写,该路径是正确的,因为它可以在直接命令行中正常工作。

这是在 php 中工作的测试代码

shell_exec('cd. > "{MYPATH}/test.txt"');

【问题讨论】:

  • 除了解释之外,您几乎没有给我们任何继续。
  • @Yokhannan 我添加了更多信息。
  • 真的很快...您是否测试过 shell_exec 是否真的打开并正常工作? shell_exec("ls -l");
  • @Yokhannan 是的,这段代码有效shell_exec('cd. > "{MYPATH}/test.txt"');

标签: php windows shell command-line macros


【解决方案1】:

我想我找到了问题所在。启动 httpd 的 wamp 服务没有正确的权限。我将服务器更改为在我的用户帐户下登录,它可以正常工作。但是,您将如何通过修复默认帐户 wampapache 登录的权限来解决此问题?默认情况下,它登录到“本地系统帐户”,我检查了允许服务器与桌面交互。我还在 soffice.exe 上添加了权限,以允许 SYSTEM 帐户完全访问,但仍然无济于事。关于那个有什么想法吗?回顾一下,在将服务登录更改为我自己的帐户后,我得到了它的工作,但我很好奇如何通过修复默认本地系统帐户的权限来解决它。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    相关资源
    最近更新 更多