Mise à jour: après un certain nombre de recherches, il semble qu'Azure puisse restreindre ma capacité à exécuter certaines commandes du shell. Je suis actuellement sur un plan d'application Web Standard 1 - que dois-je faire pour pouvoir utiliser l'utilitaire BCP via PHP?Exécution d'un BCP à partir d'une application Web Azure PHP
J'ai donc un script PHP en cours d'exécution sur mon application Web Azure et j'ai essayé d'utiliser BCP pour télécharger des données. J'ai réussi à exécuter la commande avec succès via la console Azure, mais j'ai du mal à l'exécuter via PHP.
Code PHP:
$upload_dir = '../uploads';
$test = shell_exec("bcp [database].[dbo].[Group] IN $upload_dir/working/Group.csv -S <server>; -T -f $upload_dir/format/Group.fmt -F2");
die($test);
Quand je lance cela, je reçois aucune réponse du script et l'interrogation de la base de données indique que le téléchargement a échoué. Lorsque j'essaie un test plus simple en utilisant
$test = shell_exec("echo 'Hello World'");
die($test);
Je reçois la sortie attendue, 'Hello World'. Pour la structure du fichier, le script PHP se trouve dans le dossier wwwroot/scripts, et les fichiers CSV et FMT se trouvent respectivement dans wwwroot/uploads/working/Group.csv et wwwroot/uploads/format/Group.fmt. .
Y at-il quelque chose qui me manque lorsque j'essaie d'exécuter des commandes shell via PHP? Je suis assez nouveau à ce sujet, donc j'apprécie toute l'aide!
Merci!
Avez-vous une mise à jour? –