0

我对 php 比较陌生,但我目前面临一个问题。

我已经修改了 Mac OS X 以在服务器上运行它,并且我希望能够使用 Web 浏览器在服务器上启动一些应用程序。最后的想法是使用一个按钮,当我单击它时,它会在测试后启动应用程序(应用程序是否已经打开?)

但首先我从小处着手。我创建了这个包含脚本的 html 页面:

<html>
<body>
<?php 
    print "hello word";
    $output=exec(" open /Applications/Cyberduck.app");
    print $output;
?>
</body>
</html>

当我在命令行上启动时,该脚本工作正常,但是当我尝试从网络浏览器启动它时,它根本没有做任何事情(除了写“hello world”)

我试图解决编写启动应用程序的 shell 脚本的问题,但是当我从 Web 浏览器启动它时脚本运行,但没有打开应用程序。

我确信我遗漏了一些非常明显的东西,但是通过查看互联网我没有找到任何解决方案(我可以承认我可能缺乏词汇,我的研究术语可能不相关)

谢谢你的帮助,

马克

4

1 回答 1

0

问题是您的网络服务器没有以与 GUI 用户相同的用户和权限运行。您可以通过使用 su 或 sudo 以其他用户身份运行来解决此问题。但请注意,使用 su 会弹出密码输入,这很难处理。

或者,您可以尝试创建一个单独的脚本来启动 Cyber​​duck,并设置它的 setuid 位。setuid 位允许以脚本所有者的权限自动运行脚本。

于 2013-06-09T13:37:25.210 回答