Risposte:
Questo dovrebbe rimuovere completamente qualsiasi pacchetto con un nome che inizia con php
e qualsiasi cosa ad esso relativa.
sudo apt-get purge 'php*'
php*
verrà trattato come una regex e ogni pacchetto con ph
nel suo nome verrà rimosso.
Io non lo consiglio in esecuzione sudo apt-get purge php*
.
È stato spaventoso! Fortunatamente, non ho digitato l' -y
opzione, perché ha scelto circa centinaia di pacchetti senza php
nel loro nome.
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Come funziona:
In primo luogo , un elenco di pacchetti viene generato utilizzando questa serie di comandi: dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
.
Suggerimento: è possibile eseguire questa parte del comando nel terminale per vedere quali pacchetti verrebbero rimossi. Dovresti ottenere qualcosa del tipo:
libapache2-mod-php5 php5 php5-cli php5-common php5-json
Infine , quando si esegue il comando completo, questo elenco di pacchetti viene passato a sudo apt-get purge, rimuovendo tutti i pacchetti.
Suggerimento: se ti sembra più sicuro, puoi semplicemente eseguirli separatamente e copiare + incollare l'elenco dei pacchetti da rimuovere in questo modo:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
aptitude
non è installato o non può essere installato su Ubuntu, che ne dici di apt-get cache
ricerca?
Probabilmente vorrai eliminare tutti i pacchetti php * dal tuo sistema. Qualcosa con un jolly dovrebbe funzionare
sudo apt-get purge php.*
Potresti essere interessato a Come tornare a PHP 5.2 per dove andare dopo.
php*
verrà trattato come una regex e ogni pacchetto con ph
nel suo nome verrà rimosso.
Innanzitutto, devi rimuovere Apache e tutte le sue dipendenze con:
sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
e poi:
sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql
In caso di problemi con phpMyAdmin, prova a inserirlo nel Terminale:
dpkg-reconfigure phpmyadmin
sudo apt-get -y purge libapache2-mod-php5 libapache2-mod-php5filter libexpect-php5 libgv-php5 libow-php5 php5 php5-adodb php5-auth-pam php5-cgi php5-cli php5-common php5-curl php5-dbg php5-enchant php5-exactimage php5-ffmpeg php5-fpm php5-geoip php5-gmp php5-idn php5-imagick php5-imap php5-interbase php5-intl php5-json php5-lasso php5-ldap php5-librdf php5-mapscript php5-memcache php5-memcached php5-mhash php5-midgard2 php5-ming php5-mssql php5-mysql php5-mysqlnd php5-odbc php5-pgsql php5-ps php5-pspell php5-radius php5-recode php5-remctl php5-rrd php5-sasl php5-snmp php5-sqlite php5-suhosin php5-svn php5-sybase php5-tidy php5-tokyo-tyrant php5-uuid php5-xcache php5-xdebug php5-xmlrpc php5-xsl
Nel tuo caso, puoi cercare tutti i pacchetti:
sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n" " "
e quindi eliminarli:
sudo apt-get purge <list of packages found>
aptitude
non è installato sul mio sistema (16.04)
sudo apt-get install aptitude
Oltre a qualsiasi eliminazione menzionata nelle altre risposte, se vuoi essere completamente sicuro che tutto sia rimosso, probabilmente vorrai correre
cd /
sudo find -name "php"
Che ti mostrerà file / cartelle con il nome php in essi. Dovrai quindi controllare ciascuno di questi percorsi di file, ad esempio:
cd /usr/local/include/php
ls
E cancellali come è appropriato. Fai attenzione a non eliminare tutto ciò che è critico per un altro processo che devi continuare, a meno che tu non voglia reinstallare anche quello.
Per rimuovere una directory o un file, utilizziamo il rm
commento con il -rf
flag, quindi, dato l'esempio sopra, digitare:
sudo rm -rf /usr/local/include/php
La regex che le due persone hanno detto non è corretta.
Invece di usare php.*
o php*
Uno dovrebbe usare^php*
Questa è la risposta giusta.
Quindi useresti:sudo apt-get purge "^php*"
Anche se non consiglio di usare questo metodo perché è altamente automatizzato e ti incoraggio a usare sudo apt list --installed | grep php
per ottenere l'elenco dei pacchetti e usare questi nomi di pacchetti che hai ottenuto dal comando sopra in questo comando:
sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
^php*
ephp*
php.*
riguarderà anche i casi in cui php
appare all'inizio del nome del pacchetto. Non c'è motivo di usare entrambi ^php*
e php.*
inoltre, dovrebbe essere ^php.*
; apt-get sembra sapere che php*
è un glob, non una regex, ma quando aggiungi il ^
personaggio non può essere un glob, quindi otterrai ogni pacchetto che inizia in "ph".