Fonction exec, passthru et proc_open
Bonjour,
j'essaie d'exécuter un script de génération de PDF (wkhtmltopdf) sur mon application. J'ai plusieurs fichiers HTML à transformer en PDF. Pour cela j'utilise une des fonctions :
Code:
exec('cmd /c monscript.bat "monParam" 2>&1 &', $output);
Code:
system('cmd /c monscript.bat "monParam" 2>&1 &', $output);
Code:
passthru('cmd /c monscript.bat "monParam" 2>&1 &', $output);
j'ai même essayé avec proc_open, mais j'ai toujours le même souci : au bout d'un certain temps peu importe la fonction j'ai une erreur 500 mais le fichier bat continue d'être exécuté (je vois mes fichiers PDF qui continuent d'être générés)... Je n'ai pas d'erreur PHP dans mes logs. Pour information j'ai ajouté :
Code:
1 2 3 4 5
| ini_set("display_errors", 1);
ini_set("track_errors", 1);
ini_set("html_errors", 1);
set_time_limit(0);
error_reporting(E_ALL); |
mais je n'ai pas plus d'informations. Si j'exécute mon fichier bat tout seul il s'exécute parfaitement.
Je suis sur du PHP 7.2 et c'est un serveur IIS 8 et Windows Server 2012.
Merci de votre aide.
EDIT
Pour information, je viens de trouver d'où venait le problème. Il s'agissait d'un souci de paramétrage IIS, au niveau du paramètre activityTimeout dans le fichier applicationHost.config. Il est nécessaire de modifier le FastCGI utilisé.
Merci à ceux qui ont cherché. ;)