我有一个PHP脚本运行下面的命令使用exec()
/root/gsutil/gsutil <COMMAND>
在我的错误日志中,我收到以下内容:
sh: 1: /root/gsutil/gsutil: Permission denied
有谁知道我可以做什么让我的PHP脚本来运行该命令?
/ root下的任何东西通常由root用户拥有。 PHP通常不会(因为安全原因决不应该)在root用户下运行。 您应该将gsutil安装在PHP具有执行权限的位置。 例如,将其复制到/var/www :
cp /root/gsutil/gsutil /var/www/gsutil
我认为,在Ubuntu下,PHP通常以www-data用户身份运行(不是100%确定),所以您需要将该文件的所有权更改为该用户:
chown www-data.www-data /var/www/gsutil
最后,通过设置chmod 770来确保文件对于拥有的用户/组(www-data)是可执行的:
chmod 770 /var/www/gsutil
然后设置你的PHP脚本来运行/var/www/gsutil而不是所有的应该运行良好。