Je le code suivant:Comment lancer vi depuis Symfony Process?
$process = new Process('vi'); try { $process->setPty(true); $process->mustRun(function ($type, $buffer) { echo $buffer; }); //echo $process->getOutput(); } catch (ProcessFailedException $e) { echo $e->getMessage(); }
Cependant, il meurt pour moi avec les informations suivantes:
The command "vi" failed. Exit Code: 1(General error) Working directory: [path] Output: ================ Vim: Error reading input, exiting... Vim: Finished. Error Output: ================ Vim: Warning: Output is not to a terminal Vim: Warning: Input is not from a terminal
MISE À JOUR
On peut dire qu'elle n'a pas été clair pour certaines personnes ce que je Je vais faire. Je vais expliquer. Ce script est en cours d'exécution dans la console. La même chose fonctionne via passthru (bien que Vim avertisse encore de la sortie). Je veux avoir un processus interactif qui permettra aux utilisateurs de modifier un fichier avant son envoi quelque part. Je ne veux pas implémenter mon propre éditeur et c'est pourquoi je veux qu'ils utilisent vi. vi est disponible sur mon serveur (il est clairement visible depuis la sortie fournie).
Eh bien, êtes-vous certain que vous pouvez exécuter vi par php? (Au moins si vous parlez de l'éditeur de texte linux) – Epodax
Je suis certain. Il est possible de l'exécuter en utilisant passthru(). Mon but est d'exécuter un processus interactif dans lequel un utilisateur aura la possibilité de modifier un fichier qui sera envoyé quelque part après ses modifications. –