从PHP执行Bash脚本但没有任何反应

时间:2016-09-20 18:48:37

标签: php linux bash webserver

我知道之前已经讨论过这个问题,但我仍然无法找到解决方案。我正在尝试从(非常小的)网站上的PHP文件执行Bash脚本,该网站使用内置的Web服务器运行。使用

在终端中运行PHP文件时

php -f test.php

它工作正常,bash脚本执行。但是当我启动网络服务器并从网站调用PHP函数时,没有任何反应。使用以下命令调用Bash脚本:

exec('/ home / user / website / bash_script',$ out,$ return);

在PHP文件中,我得到返回= 1。 在网站上,执行bash脚本的PHP脚本由另一个PHP脚本通过以下方式调用:

<input type="button" value="..." onclick="location='test.php'"/>

我首先认为这是我的权限问题,但我在visudo中添加了脚本文件,以便能够以超级用户身份运行它而无需密码但仍然没有运气。我还将文件权限更改为755。 这是test.php(通过终端运行时工作正常):

<?php
        exec ('/home/user/website/test');
?>

我也可以执行exec('cp bla bla2');来自网络服务器所以exec()

没有问题

EDIT ---------------------------------------------- --------------------------

Bash脚本正在向另一个屏幕发送命令,似乎这是问题的根源。我认为这可以解决我的问题: Screen -X isn't working ("No screen found")

0 个答案:

没有答案