1 pièce(s) jointe(s)
Appeler un programme CGi-bin depuis un script php, depuis un intraweb \ WAMP
Bonjour,
Je suis sous Windows 7 + WAMP = Uniserver + Php 7.1.
1°) J'ai écrit un premier tout petit programme console en Lazarus \ Pascal (qui fait jute un Writeln(' world'); sur le stdOUT de la console), qui est un programme lancé en CGI-bin depuis ce script Php:
Code:
1 2 3 4 5 6 7
| <?php
declare(strict_types=1);
// Le programme project1.exe est un programme console qui renvoie juste la chaine 'Hello'
// concaténée avec le param. 'world', suivi de son emplacement.
echo exec('D:\programs\projects\helloWorldConsole\project1.exe world');
Exit;
?> |
Et ça marche, car j'obtiens une page HTML qui m'affiche :) :
Hello world, from D:\programs\projects\helloWorldConsole\project1.exe
2°) Je suis content du résultat, mais il est mince. J'ai donc écrit un second petit programme console qui une page texte brut avec seulement 'Coucou' dedans i.e. je renvoie juste un texte brut sans headers. La seule modification est que ce programme a une URL différente, car il est et console, et réellement CGI (présence d'un bootstrap?) cette fois. Si je tape son URL dans la barre du navigateur (http://localhost/cgi-bin/extgrid.exe/Provider/form_edit), j'obtiens le 'Coucou'. Ça marche depuis l'URL, donc.
Maintenant, je veux lancer ce programme CGI depuis ce script compilé:
Code:
1 2 3 4 5
| <?php
declare(strict_types=1);
echo exec('D:\Orion7\UniServerZ\cgi-bin\extgrid.exe /Provider/form_edit');
Exit;
?> |
J'ai toujours une page blanche comme renvoi :( .
==> Auriez-vous des piste(s), des méthodes, pour que je comprenne ce que je dois appeler, où chercher, quoi changer?
ps2: en pièce jointe, il y a ma config. d’environnement CGI.
ps2: j'ai testé ces URL qui ne fonctionnent pas:
// --NOK:-- echo exec('D:\Orion7\UniServerZ\cgi-bin\extgrid.exe');
// --NOK:-- echo exec('D:\Orion7\UniServerZ\cgi-bin\extgrid.exe /Provider/form_edit');
// --NOK:-- echo exec('D:\Orion7\UniServerZ\www\Provider\form_edit');
// --NOK:-- echo exec('D:/Orion7/UniServerZ/cgi-bin/extgrid.exe');
// --NOK:-- echo exec('/cgi-bin/extgrid.exe/Provider/form_edit');
// --NOK:-- echo exec('/cgi-bin/extgrid.exe/Provider/form_edit /Provider/form_edit');
// --NOK:-- echo exec('D:\Orion7\UniServerZ\www\Provider\form_edit');
// --NOK:-- echo exec('D:\Orion7\UniServerZ\cgi-bin\extgrid.exe /Provider/form_edit');
// --NOK:-- echo exec('D:\Orion7\UniServerZ\cgi-bin\extgrid.exe Provider form_edit');
Cordialement.