Heim >Backend-Entwicklung >PHP-Tutorial >Beim Ausführen von PHP unter Linux gibt das externe Shell-Skriptsystem 126 zurück
<code><?php $command = '/var/www/html/fzip.out /var/www/html/test /var/www/html/test.fzip'; //$command = 'ls /var/www/html'; system($command,$return); exec($command,$out); //echo $command; print_r($return); echo '<br>=================<br>'; print_r($out);?></code>
Der erste $-Befehl ist Ihr eigenes Shell-Skript. Der Zweck besteht darin, den Ordner des zweiten Parameters auf den Pfad der dritten Datei zu komprimieren. Erzählen Sie mir von der aktuellen Situation.
1 php.ini befindet sich nicht im abgesicherten Modus, daher können Sie ls und andere Befehle normal aufrufen.
2 Das System gibt 126 zurück, wenn dieser Befehl ausgeführt wird, und der zweite Parameter von exec ist leer.
3 Dem HTML-Verzeichnis der generierten Datei wurden 777 Berechtigungen erteilt, und das komprimierte Testverzeichnis verfügt ebenfalls über 777 Berechtigungen
4 Sie können diesen Befehl direkt über die Befehlszeile ausführen
Ist eine Konfiguration erforderlich, um ein solches benutzerdefiniertes Skript auszuführen? ?
<code><?php $command = '/var/www/html/fzip.out /var/www/html/test /var/www/html/test.fzip'; //$command = 'ls /var/www/html'; system($command,$return); exec($command,$out); //echo $command; print_r($return); echo '<br>=================<br>'; print_r($out);?></code>
Der erste $-Befehl ist Ihr eigenes Shell-Skript. Der Zweck besteht darin, den Ordner des zweiten Parameters auf den Pfad der dritten Datei zu komprimieren. Erzählen Sie mir von der aktuellen Situation.
1 php.ini befindet sich nicht im abgesicherten Modus, daher können Sie ls und andere Befehle normal aufrufen.
2 Das System gibt 126 zurück, wenn dieser Befehl ausgeführt wird, und der zweite Parameter von exec ist leer.
3 Dem HTML-Verzeichnis der generierten Datei wurden 777 Berechtigungen erteilt, und das komprimierte Testverzeichnis verfügt ebenfalls über 777 Berechtigungen
4 Sie können diesen Befehl direkt über die Befehlszeile ausführen
Ist eine Konfiguration erforderlich, um ein solches benutzerdefiniertes Skript auszuführen? ?
Schließlich habe ich festgestellt, dass die Ausführung durch Selinux blockiert wurde. Ich werde die Ergebnisse als Referenz hinterlassen. Die Leistung besteht darin, dass das Skript im PHP-CLI-Modus normal ausgeführt werden kann und die Ausführung auf der Webseite 126 zurückgibt. Das Hinzufügen von sudo gibt 1
zurück