【问题标题】:Run exec function in PHP在 PHP 中运行 exec 函数
【发布时间】:2009-11-01 07:21:04
【问题描述】:

我正在使用 exec 函数来运行一个 bat 文件并更改默认打印机。 exec 文件运行良好,单独的 bat 文件运行良好,但是当我通过 exec 函数调用 bat 文件时打印机不会改变。我将“echo 1”放入 bat 文件中。浏览器显示“1”,但我的打印机没有改变。我真的需要一个奇迹来解决这个问题!我的操作系统是 Microsoft Server 2003。有什么想法吗?

【问题讨论】:

  • bat 文件如何更改默认打印机?您是否希望通过 Web 服务器上的代码更改浏览器的默认打印机?那是行不通的。
  • 我不想更改浏览器的默认打印机。我正在更改 windows 默认打印机,并将 firefox 设置为始终在 windows 默认打印机上工作。

标签: php batch-file exec


【解决方案1】:

听起来像是权限问题。运行您的网络服务器的用户可以运行批处理文件,但批处理文件没有更改打印机的权限(并且正在悄悄地失败)。

【讨论】:

  • 我认为不是权限问题,因为我运行了 bat 文件,它更改了默认打印机。它只是在 exec 函数中不起作用。
  • 如果从您对该问题的评论中可以看出,您正在尝试更改本地设置,这是完全不可能的(当然,除非您的 Web 服务器在 localhost 上运行)。
  • 是的,我正在使用 xamp,并且正在我的系统上运行该项目。
  • 那么我将不得不坚持我原来的答案。运行 apache 的用户可能是非特权用户,不能修改系统设置,如默认打印机。当您自己运行批处理时,您是以自己的用户身份运行它,该用户确实有权执行此类操作。
  • 还可能涉及时间问题,具体取决于您要达到的目标和方式,但这是另一回事,我认为这不是问题。
猜你喜欢
  • 2014-02-05
  • 2018-06-21
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 2015-05-16
  • 2012-05-28
  • 1970-01-01
  • 2019-02-18
相关资源
最近更新 更多