使用exec()执行php无法正常工作

时间:2014-11-11 19:49:50

标签: php command-line amazon-s3

我正在尝试以下列方式从php命令行执行shell命令

php -r '$test = exec("aws s3 cp s3://test/my-container/testing.txt /var/www/files-test"); echo $test;'

这有效,结果文件从s3下载到提到的目的地/var/www/files-test

但是当我从网络应用程序执行相同的命令时,它不起作用。代码是

$test = exec("aws s3 cp s3://test/my-container/testing.txt /var/www/files-test");
print_r($test);

它不起作用,作为输出我

  

已完成1个部分,其中包含......文件

我确保apache用户具有所需的权限。这里可以缺少什么?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我正在使用的网络服务器是nginix和web应用程序,一些如何在apache用户上运行,我给了nginix用户的权限,但没有给apache用户!

所以修复是让应用程序在nginix用户上运行。