Как полностью удалить PHP?

Я должен очистить свой сервер от пакетов PHP 5.3 (существуют многие из них), чтобы смочь скомпилировать PHP 5.2. Что самый легкий/самый безопасный метод должен избавиться от них всех?

58
задан 12 August 2016 в 11:04

8 ответов

Это должно полностью удалить любой пакет с именем, которое запускается с php и что-либо связанное с ним.

sudo apt-get purge 'php*'
88
ответ дан 22 November 2019 в 23:41

Вы, вероятно, захотите произвести чистку всего php* пакеты от Вашей системы. Что-то с подстановочным знаком должно работать

sudo apt-get purge php.*

Можно интересоваться тем, Как откатывать к PHP 5.2 для того, куда пойти затем.

17
ответ дан 22 November 2019 в 23:41

Я не рекомендую работать sudo apt-get purge php*.

Это было страшно! К счастью, я не вводил -y опция, потому что это выбрало приблизительно сотню пакетов без php на их имя.

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

Как это работает:

Во-первых, список пакетов сгенерирован с помощью этого ряда команд: dpkg -l | grep php| awk '{print $2}' |tr "\n" " ".

Подсказка: можно выполнить эту часть команды в терминале для наблюдения, какие пакеты удалить. Необходимо получить что-то как: libapache2-mod-php5 php5 php5-cli php5-common php5-json

Наконец при выполнении полной команды этот список пакетов передается sudo Кв. - получают чистку, удаляя все пакеты.

Подсказка: Если это чувствует себя более безопасным Вам, Вы могли бы столь же легко выполнить их отдельно и copy+paste список пакетов для удаления как так: sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json

67
ответ дан 22 November 2019 в 23:41
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

В Вашем случае Вы могли искать все пакеты:

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

и затем произведите чистку их:

sudo apt-get purge <list of packages found>
2
ответ дан 22 November 2019 в 23:41

Во-первых, необходимо удалить Apache и все его зависимости с:

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

и затем:

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

Если у Вас есть какие-либо проблемы с phpMyAdmin, попытайтесь ввести это в Терминал:

dpkg-reconfigure phpmyadmin
3
ответ дан 22 November 2019 в 23:41

В дополнение к любым чисткам, упомянутым в других ответах, если Вы хотите быть абсолютно уверенными, что все удалено, Вы, вероятно, захотите работать

cd /
sudo find -name "php"

Который покажет Вам файлы/папки с именем php в них. Вы затем собираетесь хотеть проверить каждые из этих путей к файлам, т.е.:

cd /usr/local/include/php
ls

И удалите их, как является соответствующим. Бойтесь удалять что-либо, что это очень важно для другого процесса, которым необходимо продолжать управлять, тем не менее, если Вы не хотите должными быть переустановить это также.

Для удаления каталога или файла мы используем rm комментарий с -rf флаг, таким образом, данный вышеупомянутый пример, мы ввели бы:

sudo rm -rf /usr/local/include/php
2
ответ дан 22 November 2019 в 23:41

regex, который, как эти два человека сказали, является неправильным.
Вместо использования php.* или php* Нужно использовать ^php*

Это - правильный ответ.
Таким образом, Вы использовали бы: sudo apt-get purge "^php*"

Хотя я не рекомендую использовать эту причину метода его высоко автоматизированный и я encourge Вы для использования sudo apt list --installed | grep php чтобы получить список пакетов и использовать эти имена пакета, которые Вы получили от вышеупомянутой команды в этой команде:

sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO

1
ответ дан 22 November 2019 в 23:41
apt list --installed 2>/dev/null | awk -F '/' '{print $1}' | grep '^php' | xargs -r sudo apt purge;
sudo rm -rfv /etc/php/5.3;

Пояснение

apt list --installed 2>/dev/null - список установленных пакетов с версией и прочей информацией;

apt list --installed 2>/ разработка/нуль | awk -F '/' '{print $1}' - список только имен установленных пакетов;

apt list --installed 2>/dev/null | awk -F '/' '{print $1}' | grep '^php' - список имен установленных пакетов только начиная с php;

apt list --installed | awk -F '/' '{print $1}' | grep '^php' | xargs -r sudo apt purge - передать список имен установленных пакетов, начиная с php, в качестве аргументов для команды sudo apt purge;

sudo rm -rfv /etc/php/5.3 - удалить все файлы конфигурации для php5.3;

При необходимости

sudo rm -rfv /etc/php/5* - удалить все файлы конфигурации всех php5 версии (php5.3, php5.4, php5.5 и т. д.);

sudo rm -rfv /etc/php - удалить все конфигурационные файлы всех php версий (php5, php7 и т.д.);

0
ответ дан 24 June 2020 в 10:56

Другие вопросы по тегам:

Похожие вопросы: