Exécuter un programme distant via PHP

Dans cet article nous allons voir comment exécuter un programme distant à l’aide de PHP et exec.

Voici les arguments de la fonction exec de PHP :

1) La commande (command) :
Le premier argument est la commande ou le programme à exécuter.

2) La sortie (output) :
Si le deuxième argument est présent (comme chez moi), alors ce tableau sera rempli par les lignes retournées par la commande. Les espaces de début et de fin de chaîne, comme \n, ne seront pas inclus dans ce tableau. Il faut noter que si ce tableau contient des éléments, exec() ajoutera les nouvelles lignes à la fin du tableau. Si vous ne voulez pas que les nouveaux éléments soient concaténés, utilisez la fonction unset() avec ce tableau avant de le passer à exec()

3) Variable de retour (return_var) :
Si l’argument return_var est présent en plus du tableau output, alors le statut de retour d’exécution sera inscrit dans cette variable.

Dans mon exemple je vais vous montrer un exemple avec un script perso en Perl (mais ceci est valable avec la plupart des programmes).

Voici mon script Perl foreach.pl (qui se situe dans le répertoire « /home/brussels/Programming/Perl/ »)

#!/usr/bin/perl

# Text Array
@phrases = ("hello world", "J'aime le Perl", "PHP VS Perl", "Java VS C#", "Ah, la programmation");

foreach $phrase(@phrases) {
  print $phrase . "
";
}

et mon script PHP

<!--?php exec('/home/brussels/Programming/Perl/foreach.pl', $results); foreach($results as $result) echo $result; ?-->

Résultat :

hello world
J'aime le Perl
PHP VS Perl
Java VS C#
Ah, la programmation

Note : Pour que PHP puisse exécuter le programme Perl, il fait que ce dernier ai les droits de permission suffisant sinon cela ne fonctionnera pas 🙂

Pour plus d’information sur cette fonction, je vous laisse regarder la documentation.

01Script.com