我正在创建一个简单的网页,允许用户在基本的 php 页面上选择一个选项,单击提交,然后后端 PHP 应该执行一个 bash 脚本,该脚本将执行一些 AppleScript。
我可以从终端运行 bash 脚本,它可以很好地运行 Applescript 文件,osascript
但是当我尝试从 php 执行 bash 脚本时,它会运行 echo 命令,但不会执行该osascript
行。我想这是一个权限问题,但我将所有内容更改为完全权限使用chmod 777
(诚然不是最好的主意,但除此之外)
有什么我想念的吗?奇怪的是,它似乎完全跳过了这osascript
条线。有什么建议么?提前致谢!
代码:
PHP
<?php
if (isset($_POST['submit'])) {
$username = $_POST['username'];
if (strcasecmp($username, 'user1') == 0) {
echo 'test1';
} else if (strcasecmp($username, 'user2') == 0) {
echo 'test2';
} else if (strcasecmp($username, 'user3') == 0) {
echo 'test3';
} else if (strcasecmp($username, 'user4') == 0) {
shell_exec('cd ~/Sites;./a.out');
}
}
?>
重击
#!/bin/bash
echo "test String"
cd /Users/Zimmerman/Library/Scripts
osascript /Users/Zimmerman/Library/Scripts/testscript.scpt
echo "test String"