/ / PHP shell_exec utilisant des chemins UNC - php, system, shell-exec

PHP shell_exec utilisant des chemins UNC - php, system, shell-exec

En PHP, je ne peux pas exécuter de commande via shell_exec, system ou exec, lorsque vous utilisez des chemins non-connectés. Voici un exemple:

Ce qui fonctionne:

$command = shell_exec("dir c:\"); echo $command;

Voici ce qui ne fonctionne pas. Cela ne fait rien.

$command = shell_exec("dir \\server\dir"); echo $command;

Quand je cours dir \ serverdir dans la fenêtre de commande Windows ou PowerShell, il s'exécute correctement.

Réponses:

1 pour la réponse № 1

Les chemins UNC fonctionneront, mais l'utilisateur sur lequel le service PHP est exécuté doit avoir accès au partage.

Je suppose que vous utilisez PHP avec IIS. Si tel est le cas, l'utilisateur par défaut est IUSR_MachineName. Assurez-vous que cet utilisateur a accès au partage.

Si vous exécutez Apache, vérifiez le gestionnaire de tâches sur le serveur pour déterminer quel utilisateur exécute le service Apache. Donnez à ce nom d’utilisateur l’accès au partage.