Vs. Exec Sistema in PHP

April 10

Vs. Exec Sistema in PHP


PHP è un linguaggio di programmazione utilizzato per sviluppare ricche applicazioni Web interattive. Tuttavia, si potrebbe desiderare di chiamare programmi esterni o comandi di sistema all'interno di un programma PHP per aggiungere ulteriori funzionalità di migliorare l'efficienza. Questo può essere eseguito dal exec PHP () o Sistema () comandi che variano leggermente funzionalità e la sintassi.

Uso

L'exec () e il sistema () comandi vengono utilizzati all'interno di un programma PHP per eseguire comandi di sistema o programmi esterni e script. Questo è importante per estendere le funzionalità del linguaggio PHP e di interfacciarsi con altre applicazioni in esecuzione sul server. PHP in pausa fino a quando il programma esterno termina l'esecuzione, a meno di output viene reindirizzato a un file o di un altro buffer di uscita.

differenze

La differenza principale tra il exec () e system () comandi è come uscita dal programma esterno viene gestito. Il comando di sistema () scrive automaticamente i risultati del comando eseguito nel buffer di uscita corrente. Il comando exec () restituisce opzionalmente l'output del comando eseguito come una variabile array aggiuntivo.

Sintassi

L'exec () e il sistema di () i comandi hanno una sintassi opzionale leggermente diversa, anche se entrambi possono essere eseguite con solo il percorso del programma esterno. Entrambi i comandi richiedono un comando formattato come una stringa, e hanno un variabile di ritorno opzionale formattato come un puntatore ad un int per indicare lo stato di ritorno del eseguita comando impostato a 0 quando viene eseguito senza errori e qualsiasi altro valore quando si è verificato un errore. Il comando exec () include inoltre un parametro di output formattato come un puntatore a una variabile di matrice, che includono ogni riga di output del comando eseguito senza trailing spazi bianchi, come il carattere di nuova riga.

Sicurezza

Durante l'esecuzione di comandi o programmi esterni, è particolarmente importante considerare la sicurezza dell'operazione. Quando si utilizza qualsiasi input fornito dall'utente, utilizzare la escapeshellarg () o escapeshellcmd funzioni () per rimuovere le operazioni potenzialmente dannose. Le migliori pratiche coinvolgono solo l'esecuzione di una nota lista bianca di comandi, piuttosto che i comandi dannosi solo la rimozione noti.