Hoe shell commando’s uitvoeren via PHP

In dit bericht wordt besproken hoe je shell commando’s kunt uitvoeren via PHP. Dus in plaats van handmatig een commando in Linux in te voeren om de mappenstructuur te doorzoeken, doe je dit programmatisch via PHP. De mogelijkheid om shell commando’s via PHP uit te voeren is een krachtige functie en moet zorgvuldig worden gebruikt. Niet alle hosting providers staan toe dat u shell commando’s via PHP uitvoert.

De PHP functie om shell commando’s uit te voeren is: shell_exec(), exec() of system().

Deze functies lijken veel op elkaar, maar hebben kleine verschillen:

  • shell_exec() retourneert de volledige uitvoer als een string. De tekenreeks kan NULL zijn als er een fout optreedt of als het commando geen uitvoer oplevert.
  • exec() retourneert de laatste regel van het uitgevoerde commando als een tekenreeks. OPMERKING: Gebruik exec() wanneer u toegang tot de programma-uitgang nodig hebt. shell_exec() geeft geen informatie over de programma-uitgangscode.
  • system() lijkt op shell_exec(), maar geeft de uitvoer rechtstreeks weer (zonder echo() of print() te gebruiken).

shell_exec() & exec() voorbeeld:

Beide van deze shell-functies werken op dezelfde manier. Let op de eerder genoemde verschillen.

<?echo shell_exec("ls / -ltr");?>

Resultaat:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Het antwoord bevat \n regeleinden. Gebruik str_replace(“\n”, “<BR>”, shell_exec(“ls / -ltr”)) om newline karakters te vervangen door HTML vriendelijke BRs.

Voorbeeld:

total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64

system() voorbeeld:

De system() functie wordt ook gebruikt om shell commando’s via PHP uit te voeren.

<?system("ls / -ltr");?>

Resultaat:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Bezoek https://anto.online voor meer berichten over PHP!

Over de auteurs

Elk lid van Anto’s redactieteam is een Cloud-expert op zijn eigen gebied. Anto Online is er trots op mede Cloud enthousiastelingen te kunnen helpen. Laat het ons weten als je een goed idee hebt voor een volgend onderwerp!

Support the Cause

Steun Anto Online en trakteer ons op een kop koffie. Alles is mogelijk met koffie en code.

Koop een koffie voor me

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.