我正在运行以下代码来运行 bash 命令
shell_exec("sudo sh script.sh $conf_file");
$config_file
包含例如 abc.conf
的值
在我的 script.sh 文件中
#!/bin/bash
mv $1 /etc/apache2/sites-available/
我还允许 www-data 用户通过转到 sudo visudo
并在最后添加以下行来使用无密码的 sudo
www-data ALL=NOPASSWD: /var/www/html/myapp/script.sh
最佳答案
您正在通过 sudo 运行 sh
,而不是 /var/www/html/myapp/script.sh
。当您的脚本以 #!/bin/bash
行开始时,为什么您通过 sh
运行 script.sh
也很奇怪。只需尝试将 shell_exec
更改为:
shell_exec("sudo /var/www/html/myapp/script.sh $conf_file");
关于php - mv 命令不能从 bash 脚本 php 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36868423/