Выполнить команду задачи symfony из разрешения shell_exec ()

У меня есть вызов symfony «doNothing», и я хочу выполнить его из выполнения shell_exec('/var/www/esm/symfony php symfony doNothing');

позвонив в мое действие symfony

ошибка apache, заявив, что разрешение отклонено.

Я думаю, что пользователь www-data не имеет разрешения, как я могу это решить?

отредактированный

 error is 

sh: / var / www / esm / symfony: разрешение отклонено

Solutions Collecting From Web of "Выполнить команду задачи symfony из разрешения shell_exec ()"

Вы должны посмотреть в каталоге, где находится ваш скрипт.

Используйте ls -la чтобы показать все файлы в папке и их разрешения (для выполнения файла сценария php должен быть назначен как минимум x бит для www-данных или его группы).

Также все родительские каталоги до / ДОЛЖНЫ иметь x бит, назначенный пользователю / группе для apache, чтобы иметь возможность изменять каталог.

Посмотрите. У вас есть система структурированных файлов Tree:

  • /var/www находится в /var
  • /var/www/esm находится в /var/www
  • /var/www/esm/symfony находится в /var/www/esm

Таким образом, пользователь www-data должен иметь возможность выполнять ( x бит) все эти каталоги.

Поэтому, когда in / execute ls -l и look wheter /var имеет x бит для пользователя www-data или его группы (drw x rw x —), и он владеет этим каталогом. Когда in /var выполняет ls -l и так далее …

Вы можете изменять разрешения для 777 для каждого каталога. Но НЕ используйте ключ -R . Просто измените разрешения только на каталог.