我有一个名为ant -buildfile /some/where/build.xml
的shell脚本工作正常。当我尝试exec('shellScript');或exec('ant -buildfile /some/where/build.xml');它会失败。我已经尝试了passthru,system,pcntl_exec,popen和shell_exec以及shell脚本和命令。
构建脚本使用SVN,并检出一些文件。那就是失败的地方。在ant脚本输出中,我得到: checkoutTrunk: [svn]开始...... [svn]失败了!
当我从SSH运行命令或shell脚本时,一切正常。为什么从PHP脚本调用会阻止结账工作?
答案 0 :(得分:1)
在无处可去后,我将其尝试执行的命令更改为“id”。我发现PHP的运行方式与我想象的不同。当我作为该用户进行SSH时,由于无法写入目录,因此在运行命令时出现错误。一旦我更改了这些目录的权限,我就可以从SSH以PHP用户身份运行该命令。在我能做到之后,它也可以从PHP脚本开始。