0

我有一个 bash 脚本(myscript.sh),它在用户“www-data”的 ssh 控制台上工作,但是当我在我的 php 脚本中使用“exec”运行这个脚本时,脚本不起作用。

有什么问题?“www-data”具有外壳“/bin/bash”,当我设置为“/bin/sh”时,脚本也不起作用。

4

2 回答 2

0

我知道这样做有一种“不安全”的方式,我曾经遇到过类似的问题,您也可以更改文件的所有权限 - 在命令行类型:

首先复制您的原始文件 - 以防万一,所以我们不会进一步搞砸:

    cp myscript.sh myscript2.sh

    chmod 755 myscript2.sh

并在命令行类型:

    chown www-data:www-data myscript2.sh

在 PHP 脚本文件中尝试使用 myscript2。(我记得还发现与此类似的问题与以 root 身份运行 Web 服务器(我假设您使用 Apache)有关。)

顺便说一句,你看过你的错误日志吗?对于不允许的内容,可能会有有用的建议。

于 2013-03-20T23:13:11.930 回答
0

注意可执行模式

chmod +x myscript.sh

如果脚本在路径中。否则调用 myscript.sh 时使用完整路径

于 2013-03-20T20:00:25.640 回答