如何通过PHP触发Shell脚本

时间:2017-05-17 11:00:58

标签: php bash apache shell xampp

基于PHP前端用户表单中的某些表单条目,我需要将数据保存在文件中(已经实现),然后执行shell脚本作为操作。我能够从PHP写入一个文件但是我无法触发同一目录的另一个文件,两个文件具有完全相同的权限。我已经尝试了exec和shell_exec,但似乎没有帮助!尝试的一些示例包括 -

shell_exec("/bin/sh  dq_files/shell_script.sh");
shell_exec("./dq_files/shell_script.sh");
shell_exec("sh dq_files/shell_script.sh");
exec("<similar-shell-functions-as-above>, $result, $output);

所有这些都没有帮助。

注意 - 我的php.ini文件的disable_functions为空(disable_functions =),我的PHP的安全模式为Off。 PHP由apache用户和apache组执行,我更新了该目录中的所有文件,直到最低层次结构,777权限和所有权已转移到apache:apache,但似乎没有受益。

1 个答案:

答案 0 :(得分:0)

可以通过以下几种方法解决此问题:

1)通过用户级权限:默认情况下,通过提升当前用户的权限以允许他在该位置执行,或者通过必要的权限分配。

2)使用具有必要权限的独立微服务在这些位置执行*.sh文件。

3)如果您在其他位置具有安装运行权限,则最好从该位置运行(如果系统管理员不允许您添加独立的微服务或新的权限集):{{1} }。

希望有帮助。