我正在尝试使用php脚本来执行shell脚本 . 但是我显然在Web服务器上遇到了一些问题 .
我有一个名为switch_audio.sh的bash脚本 . 它基本上改变了系统的有效音频输出 .
我还有一个运行以下代码的script.php:
<?php
echo "It's working";
exec("/var/www/html/switch_audio.sh");
?>
当我执行 php script.php
时,它工作正常 . 但是,当我尝试通过 localhost/script.php
在Web浏览器上运行它时,我只是输出"echo"部分 .
我已经尝试过:
-
从php.ini中的禁用函数中删除'exec()';
-
为此路径中从"/"到localhost文件夹的每个文件夹中的每个人授予权限;
有什么想法吗?
2 回答
简单的解决方案:
exec()
返回一个字符串,但您还必须将其输出给用户:你已经说过你在你的php.ini配置上允许shell函数了但它似乎还没有工作......所以也许:
更改后您没有重新启动webserver服务
你的某些其他声明更具限制性......也许
ini_set
在你的php文件中 .提醒一下,确保你在php.ini文件上做得很好,检查一下这种语句:
也许你可以尝试而不是执行其他类似的PHP函数,如
shell_exec
来检查它是否有效 . 或者可能正在工作而没有展示任何东西 .