来自PHP的Shell命令仅部分执行

时间:2014-08-11 17:36:51

标签: php git shell

我创建了一个makefile,如下所示:

.PHONY: all update-repo dependency-install unit-tests file-permission

    all: update-repo dependency-install unit-tests file-permission

    update-repo:
        git reset --hard
        git pull origin master

    dependency-install:
        composer update

    unit-tests:
        vendor/bin/phpunit

    file-permission:
        chmod 777 application/logs
        chmod 777 application/cache
        chmod 777 application/models/proxies

现在尝试使用以下脚本从php执行它:

echo shell_exec("make");

并非两个文件都获得777权限。

现在我试图通过从web url执行php脚本来执行这些make命令。执行启动后,我只得到以下输出:

git reset --hard
HEAD is now at 758a275 test commit
git pull origin master

因此,由于某些原因,其他命令未被执行。有没有人知道为什么?感谢。

1 个答案:

答案 0 :(得分:1)

这是权限问题。确保错误也是stdout以找出问题所在:

echo shell_exec("make 2>&1");

更多信息:In the shell, what does " 2>&1 " mean?