Cum se execută comenzi shell prin PHP

Acest post discută despre cum se execută comenzi shell prin PHP. Astfel, în loc să introduceți manual o comandă în Linux pentru a căuta în structura dosarelor, faceți acest lucru în mod programatic prin PHP. Posibilitatea de a executa comenzi shell prin intermediul PHP este o caracteristică puternică și trebuie utilizată cu atenție. Nu toți furnizorii de găzduire vă vor permite să executați comenzi shell prin PHP.

Funcția PHP pentru a executa o comandă shell este: shell_exec(), exec() sau system().

Aceste funcții sunt foarte asemănătoare, dar au mici diferențe:

  • shell_exec() returnează ieșirea completă sub forma unui șir de caractere. Șirul poate fi NULL atunci când apare o eroare sau dacă comanda nu produce nicio ieșire.
  • exec() returnează ultima linie a comenzii executate sub forma unui șir. NOTĂ: Folosiți exec() atunci când aveți nevoie de acces la ieșirea din program. shell_exec() nu furnizează informații despre codul de ieșire din program.
  • system() este similară cu shell_exec(), dar afișează ieșirea direct (fără a utiliza echo() sau print()).

shell_exec() & exec() exemplu:

Ambele funcții shell funcționează în același mod. Observați diferențele menționate anterior.

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

Rezultat:

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 ….

Răspunsul conține \ntreruperi de linie. Folosiți str_replace(„\n”, „<BR>”, shell_exec(„ls / -ltr”)) pentru a înlocui caracterele newline cu BR-uri prietenoase cu HTML.

Exemplu:

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

exemplu system():

Funcția system() este, de asemenea, utilizată pentru a executa comenzi shell prin intermediul PHP.

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

Rezultat:

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 ….

Vizitați https://anto.online pentru mai multe postări despre PHP!

Despre autori

Care membru al echipei editoriale Anto este un expert în Cloud în felul său. Anto Online se mândrește cu ajutorul colegilor pasionați de Cloud. Anunțați-ne dacă aveți o idee excelentă pentru următorul subiect!

Susțineți cauza

Susțineți Anto Online și cumpărați-ne o cafea. Orice este posibil cu cafea și cod.

Cumpărați-mi o cafea

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.