【发布时间】:2013-05-20 09:34:58
【问题描述】:
我有一个必须在服务器上安装磁盘的应用程序。磁盘和服务器都连接了,它只需要使用 linux 'mount' 命令。
我写了一个简单的php:
<?
exec("/var/www/MountTheDisk.sh");
?>
我添加了 bash 脚本:MountTheDisk.sh
#!/bin/bash
diskutil mount /dev/xvdb1 /mnt/theDisk/
echo trying to mount
现在,如果我运行那个 php,我不会得到任何结果。什么都没有回显,也没有安装磁盘。如何远程运行此命令?也许php不是最好的方法?
【问题讨论】:
-
运行 PHP 的用户是否有 sudo 权限?
-
我只是通过将网站导航到 url 来运行文件:ip.address/MountDisk.php 有没有更好的方法来完成这个?或者我如何在登录时远程运行文件?
-
1.您的命令需要作为字符串发送,并且您缺少结束分号。
exec('sudo mount /dev/xvdb1 /mnt/thisDisk/');2. 正如 Mike Brant 所建议的,运行 PHP 的用户(可能是 Apache 或您正在运行的任何 Web 服务器)必须具有sudo权限。 -
是的,我确实忘记了冒号,好电话。我的 sunders 文件显示 ALL,这是否意味着权限正常?
-
另外,也许它不需要是一个 sudo 调用?