ich den folgenden Code haben:Wie starte ich vi von 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(); }
jedoch stirbt es für mich mit den folgenden Informationen:
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
UPDATE
scheint es für manche Menschen nicht klar war, was ich werde ich tun. Ich werde erklären. Dieses Skript wird in der Konsole ausgeführt. Das gleiche funktioniert über passthru (obwohl Vim immer noch über die Ausgabe warnt). Ich möchte einen interaktiven Prozess haben, der es Benutzern erlaubt, einige Dateien zu ändern, bevor sie irgendwo gesendet werden. Ich möchte meinen eigenen Editor nicht implementieren und deshalb möchte ich, dass sie vi verwenden. vi ist auf meinem Server verfügbar (es ist deutlich sichtbar von der Ausgabe, die ich zur Verfügung gestellt habe).
Nun, bist du sicher, dass Sie vi über PHP ausführen können? (Zumindest, wenn Sie über den Linux-Texteditor sprechen) – Epodax
Ich bin mir sicher. Es ist möglich, es mit passthru() auszuführen. Mein Ziel ist es, einen interaktiven Prozess zu starten, bei dem ein Benutzer die Möglichkeit erhält, eine Datei zu modifizieren, die nach seinen Änderungen gesendet wird. –