本地服务器上的PHP exec命令 - 为什么这不起作用?

时间:2012-01-24 16:33:28

标签: php apache exec

我希望能够在我的本地服务器上为自己构建的Web应用程序访问剪贴板,我想出了这个:

首先是从另一个文件读取的批处理文件:

clip < %1

然后在我的PHP文件中:

exec("mybatch.cmd $file_with_text_to_be_copied");

不需要返回变量,只需直接执行...

任何日志都没有错误,但它不起作用。

考虑到剪贴板周围的安全性,我并不感到惊讶它不起作用,但我无法弄清楚为什么 - 铬或Apache或者谁知道我在做什么?

我甚至尝试了一些在线阅读的关于将Apache服务帐户更改为由另一个帐户用户运行的内容(我认为这是系统帐户 - 不记得了 - 但这是我在线阅读的内容) 但没有变化...

顺便使用Windows机器 - 以防万一丢失。

3 个答案:

答案 0 :(得分:0)

您是否尝试使用system()函数?使用系统显示输出。然后你就可以找到解决可能错误的方法。

系统功能示例:

$response = system('ls -al', $return);
echo $response . "<br />" . $return;

答案 1 :(得分:0)

据我所知,你不能像那样访问剪贴板。我建议制作一个简单的JS脚本,实际上读取你的剪贴板,然后对后端函数进行简单的AJAX调用(将剪贴板作为参数传递),然后随意做任何事情。

但是,某些浏览器可能会限制通过JS访问剪贴板。

答案 2 :(得分:0)

剪贴板是会话的属性,因此您在桌面会话中使用ctrl-c和朋友的剪贴板与您的网络服务器看到的剪贴板不一样。

因此,如果没有任何帮助应用程序(在您的会话中运行),这是不可能的。

顺便说一句:这很好,这是不可能的。想一想,直到你相信它。