Unofficial WebSite X5

Categoria generale => FAQ - HowTo - Tutorials => Topic aperto da: serzio - 29 Dicembre, 2011, 19:06:41

Titolo: Eseguire comandi della shell di linux tramite php
Inserito da: serzio - 29 Dicembre, 2011, 19:06:41
Qualche volta può tornare utile riuscire ad eseguire comandi della shell direttamente tramite uno script in php.
Ad esempio per visualizzare l'elenco dei files in una directory senza perdere troppo tempo, oppure cancellare un file o una directory senza usare l'ftp oppure per comprimere o decomprimere uno o più files etc etc

[attachimg=1]

Lo script, che chiameremo cmd.php, deve contenere almeno il seguente codice:
Codice:
Only registered users can see contents. Please click here to Register or Login.
Dovrebbe essere sufficientemente semplice da capire a meno della strana sintassi "2>&1" che si chiama "redirezione dello standard error sullo standard output" e serve per visualizzare anche i messaggi di errore che di solito verrebbero rediretti sul canale 2.

NB.
Si tratta di un ottimo tool con i suoi pregi ed i suoi difetti.

Pregi:
Contro:

Riporto, invece, un esempio in cui questo strumento è di estrema utilità.
Immaginiamo di dover installare, ad esempio, un joomla. Le operazioni da eseguire normalmente sono:
Con questo metodo, invece, è possibile far eseguire tutte le operazioni direttamente sul server, download e scompattazione, per cui rimane da eseguire soltanto lo script di installazione.

Per effettuare il download direttamente sul server:

Codice:
Only registered users can see contents. Please click here to Register or Login.
come mostrato in figura:

[attach=3]

per poi scompattare direttamente sulla destinazione con il comando:

Codice:
Only registered users can see contents. Please click here to Register or Login.
come mostrato in figura:

[attach=4]

per poi procedere con l'installazione con il comando:

Codice:
Only registered users can see contents. Please click here to Register or Login.
seguendo il wizard consueto.

A questo punto dobbiamo ricordarci di rimuovere lo script cmd.php ed il gioco è fatto in pochissimi minuti .....

Cosa succede se non rimuoviamo lo script?

Vi faccio un esempio con il comando:

Codice:
Only registered users can see contents. Please click here to Register or Login.
[attachimg=5]

ho cancellato completamente TUTTO il contenuto della mia root, file e directory ..... cancellato tutto senza speranza di recupero.