Vorwort
Um ein Code-Release-System zu erstellen, müssen Sie die exec-Funktion von PHP verwenden, um Befehle unter Linux auszuführen, und git, svn-Befehle, um die exec-Funktion War die Ausführung erfolgreich?
Lösung
Schreiben Sie eine PHP-Datei, um das Experiment durchzuführen:
exec-FunktionDer erste Parameter ist der auszuführende Befehl, der zweite Parameter ist das Ergebnis der Ausführung und der dritte Parameter ist der Status der Ausführung.
<?php exec('ls', $log, $status); print_r($log); print_r($status); echo PHP_EOL;
Hier
$log,$statusDie Ausgabeergebnisse sind wie in der Abbildung dargestellt.
Aber$status ist 0, was den Eindruck erweckt, dass die Ausführung fehlgeschlagen ist, aber das ist nicht der Fall Dies ist eine erfolgreiche Exec-Ausführung.
Ändern Sie diese PHP-Datei und geben Sie dem ersten Parameter von exec einen falschen Befehl ein.Zum Beispiel:
exec(‘lsaa',$log,$status).
Hier
$status ist tatsächlich wertvoll.
Dann ist bewiesen, dass, wenn$status 0 ist, die Exec-Ausführung erfolgreich ist. Im offiziellen PHP-Handbuch gibt es hier keine klare Erklärung.
Die letzte Methode zum Ausführen des Befehls ist wie folgt:
PHP-Exec-Ausführungsbefehl PHP
public function runLocalCommand($command) { $command = trim($command); $status = 1; $log = ''; exec($command . ' 2>&1', $log, $status); // 执行过的命令 $this->command = $command; // 执行的状态 $this->status = !$status; return $this->status; }
Hinweis hier:
$this->status = !$status;
Nehmen Sie den umgekehrten Wert, wenn Sie den Status zurückgeben!
Zusammenfassung
Das Obige enthält die Details und den Beispielcode zur Beurteilung, ob dieexec-Funktion erfolgreich in PHP ausgeführt wird. Dies wird Ihnen helfen, die PHP-Entwicklung gründlich zu beherrschen. Ich hoffe, dass dieser Artikel für das Lernen aller hilfreich sein wird der PHP-Entwicklung.