Exécuter la commande de tâche symfony à partir de la permission de shell exec() refusée
j'ai l'appel de tâche symfony "doNothing" et je veux l'exécuter à partir de l'exécution shell_exec('/var/www/esm/symfony php symfony doNothing');
en appelant à mon action symfony
erreur apache disant permission refusée.
je pense www-data
utilisateur n'avez pas la permission comment pourrais-je résolu ce problème?
Édité
error is
sh: / var/www/esm / symfony: permission denied
1 réponses
vous devriez chercher dans le répertoire où se trouve votre script.
utilisez ls -la
pour afficher tous les fichiers dans le dossier et leurs permissions (pour exécuter le fichier de script php, il faut avoir au moins x
bit assigné à www-data ou son groupe).
aussi tous les répertoires parents jusqu'à /
doivent avoir x
bit assigné à l'utilisateur/groupe pour qu'apache puisse changer de répertoire en.
Look. Vous avez de l'Arbre système de fichiers structurés:
-
/var/www
est dans/var
-
/var/www/esm
est dans/var/www
-
/var/www/esm/symfony
est dans/var/www/esm
ainsi l'utilisateur de données www devrait avoir la possibilité d'exécuter ( x
bit) tous ces répertoires.
donc quand dans /
exécuter ls -l
et regarder où /var
a x
bit pour www-data user ou son groupe (drw x
rw x
- - -) et il possède ce répertoire. Quand dans /var
exécuter ls -l
un SO sur...
vous pouvez changer les permissions à 777 pour chaque répertoire. Mais N'utilisez pas la touche -R
. Il suffit de modifier les permissions dans le répertoire seulement.