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

0
demandé sur Roshan Wijesena 2011-09-02 13:49:27

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.

2
répondu s.webbandit 2012-05-07 20:23:24