0

我有 symfony 任务调用“doNothing”,我想从执行中执行它shell_exec('/var/www/esm/symfony php symfony doNothing');

通过调用我的 symfony 操作

apache错误说权限被拒绝。

我认为www-data用户没有权限我怎么能解决这个问题?

已编辑

error is

sh: /var/www/esm/symfony: 权限被拒绝

4

1 回答 1

2

您应该查看脚本所在的目录。

用于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并查看www-data 用户或其组 (drw rw ---)是否/var有位并且它拥有该目录时。当在执行等等...xxx/varls -l

您可以将每个目录的权限更改为 777。但不要使用-R密钥。只需更改目录的权限即可。

于 2011-09-02T09:56:47.793 回答