允许Apache以其他用户的身份运行php shell_exec

我用用户raimonds执行.sh文件有问题。 我可以通过terminal来完成,但不能通过php shell_exec()来完成。 我有这个PHP代码行是执行带有参数的.sh文件。

shell_exec("/Users/raimonds/Desktop/scp_upload.sh yes password"); 

scp_upload.sh正在用SCP上传文件到远程机器上:

 echo $1 | sshpass -p $2 scp -o StrictHostKeyChecking=no /Users/raimonds/Desktop/picture_to_send.jpeg [email protected]:/Users/raimonds/Desktop/picture_to_send.jpeg 

当我编辑httpd.conf文件时,php脚本工作。 更改用户_www到用户raimonds。 但是,这显然不是最好的办法。 试图在/ etc / sudoers中添加行是如何在其他地方提出的。

 raimonds ALL=(ALL) NOPASSWD: /Users/raimonds/Desktop/scp_upload.sh 

但没有运气。 我可以写更多关于这个问题的东西,但是这里没有足够的空间。 我希望你明白我在问什么。 有什么build议么? 谢谢。