Como remover completamente o PHP?

39

Eu preciso limpar meu servidor dos pacotes do PHP 5.3 (existem muitos deles) para poder compilar o PHP 5.2. Qual é o método mais fácil / seguro para se livrar de todos eles?

    
por corev 03.09.2011 / 19:59

7 respostas

53

Isso deve remover completamente qualquer pacote com um nome que comece com php e qualquer coisa relacionada a ele.

sudo apt-get purge 'php*'
    
por RobinJ 03.09.2011 / 20:07
45

Eu não recomendo executar sudo apt-get purge php* .

Isso foi assustador! Felizmente, não digitei a opção -y , porque ela escolheu cerca de cem pacotes sem php em seu nome.

sudo apt-get purge 'dpkg -l | grep php| awk '{print }' |tr "\n" " "'

Como funciona:

Primeiro , uma lista de pacotes é gerada usando esta série de comandos: dpkg -l | grep php| awk '{print }' |tr "\n" " " .

Dica: Você pode executar esta parte do comando no seu terminal para ver quais pacotes seriam removidos. Você deve obter algo como: libapache2-mod-php5 php5 php5-cli php5-common php5-json

Finalmente , quando você executa o comando completo, esta lista de pacotes é passada para o sudo apt-get purge, removendo todos os pacotes.

Dica: Se parecer mais seguro para você, você pode facilmente executá-los separadamente e copiar + colar a lista de pacotes para remover da seguinte forma: sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json

    
por bento 13.09.2012 / 12:20
16

Você provavelmente vai querer limpar todos os pacotes php * do seu sistema. Algo com um curinga deve funcionar

sudo apt-get purge php.*

Você pode estar interessado em Como reverter para o PHP 5.2 para onde ir em seguida.

    
por Marco Ceppi 03.09.2011 / 20:06
2

Primeiro, você precisa remover o Apache e todas as suas dependências com:

sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

e depois:

sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql 

Se você tiver algum problema com o phpMyAdmin, tente inserir isso no Terminal:

dpkg-reconfigure phpmyadmin
    
por Krishna Yadav 01.04.2016 / 08:41
2

Além de quaisquer expurgos mencionados nas outras respostas, se você deseja ter certeza absoluta de que tudo foi removido, é provável que você queira executar

cd /
sudo find -name "php"

Que mostrará arquivos / pastas com o nome php neles. Você vai querer verificar cada um desses caminhos de arquivo, por exemplo:

cd /usr/local/include/php
ls

E exclua-os conforme apropriado. Tenha cuidado para não excluir nada que seja crítico para outro processo que você precisa manter em execução, a menos que queira reinstalá-lo também.

Para remover um diretório ou arquivo, usamos o comentário rm com o sinalizador -rf , então, de acordo com o exemplo acima, digitaríamos:

sudo rm -rf /usr/local/include/php
    
por Just In Time Berlake 12.01.2017 / 17:56
1
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

No seu caso, você pode pesquisar todos os pacotes:

sudo aptitude search php5|awk {'print '}|grep -v i386|grep -v "^A"|tr "\n"  " "

e depois purgá-los:

sudo apt-get purge <list of packages found>
    
por krantboy 29.01.2013 / 14:14
1

O regex que as duas pessoas disseram está incorreto.
Em vez de usar php.* ou php* , deve-se usar ^php*

Essa é a resposta certa.
Então você usaria: sudo apt-get purge "^php*"

Embora eu não recomende usar este método, ele é altamente automatizado e eu incentivo você a usar sudo apt list --installed | grep php para obter a lista de pacotes e usar esses nomes de pacotes que você obteve no comando acima:

sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO

    
por TechJS 07.09.2017 / 16:43