我有symfony任务调用"doNothing",我想从执行shell_exec('/var/www/esm/symfony php symfony doNothing');
通过调用我的symfony操作
apache错误提示权限被拒绝。
我认为www-data
用户没有权限,我该如何解决这个问题?
error is
sh:/var/www/esm/symfony: permission denied
您应该查看脚本所在的目录。
使用ls -la
显示文件夹中所有文件及其权限(执行php脚本文件必须至少有x
位分配给www-data或其组)
所有的父目录直到/
必须有x
位分配给用户/组,以便apache能够将目录更改为
看。你有树形结构的文件系统:
-
/var/www
在/var
-
/var/www/esm
在/var/www
-
/var/www/esm/symfony
在/var/www/esm
所以www-data用户应该有能力执行(x
位)所有的目录。
因此,当/
执行ls -l
,看看/var
是否有x
位为www-data用户或它的组(drw x
rw x
——),它拥有这个目录。当在/var
执行ls -l
时,依此类推…
您可以将每个目录的权限更改为777。但是不要使用-R
键。