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

Вопрос или проблема

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


Этот метод не рекомендуется использовать без тщательной проверки. Читайте комментарии ниже.

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

sudo apt-get purge 'php*'

НЕ НАЖИМАЙТЕ y ДАЖЕ ПОКА НЕ УБЕДИТЕСЬ, что в списке удаляемых пакетов нет других пакетов (кроме связанных с пакетами php), таких как:

php-common* python-openssl* php-curl* ... и множество пакетов

Если такие есть, введите n, скопируйте список (& уберите нерелевантные пакеты) и удалите их вручную:

sudo apt-get purge      php-common* php-curl*    ... и множество пакетов

Я не рекомендую запускать 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 apt-get purge, удаляя все пакеты.

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

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

sudo apt-get purge php.*

Вас может заинтересовать Как откатиться к PHP 5.2, чтобы знать, куда идти дальше.

Сначала вам нужно удалить 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
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 <список найденных пакетов>

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

cd /
sudo find -name "php"

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

cd /usr/local/include/php
ls

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

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

sudo rm -rf /usr/local/include/php

Регулярное выражение, которое назвали двое людей, неверно.
Вместо использования php.* или php* следует использовать ^php*

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

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

sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO

apt list --installed 2>/dev/null | awk -F "https://askubuntu.com/" '{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>/dev/null | awk -F "https://askubuntu.com/" '{print $1}' – список только имен установленных пакетов;

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

apt list --installed | awk -F "https://askubuntu.com/" '{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 и т.д.);

Я использую sudo apt remove php8.0*
Это удаляет php и все связанные пакеты – для данной версии – и понижает систему до любой другой существующей, установленной (старой) версии php.

Сначала я запускаю sudo apt list --installed | grep php, чтобы показать все установленные версии PHP, затем я удаляю указанную конкретную версию PHP (8.1) со всеми связанными зависимостями (расширениями), запустив sudo apt-get purge 'php8.1*'

используйте команду

sudo apt-get purge php.*

и затем используйте

sudo apt autoremove

Ответ или решение

Для полного удаления PHP с вашего сервера, особенно если у вас установлены пакеты версии 5.3, вам потребуется выполнить несколько последовательных шагов. Важно помнить, что удаление пакетов может повлиять на другие приложения и службы, поэтому рекомендуется тщательно проверить каждый этап процесса. Ниже приведена пошаговая инструкция по безопасному удалению PHP:

1. Оценка установленных пакетов

Перед тем как приступать к удалению, мы можем получить список всех установленных пакетов, связанных с PHP. Используйте следующую команду:

apt list --installed | grep php

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

2. Удаление пакетов PHP

Для полнофункционального удаления пакетов PHP можно использовать команду:

sudo apt-get purge 'php*'

Однако, будьте осторожны! Более безопасный и предпочтительный способ — выполнить команды для получения списка и удаления пакетов поэтапно:

  • Сначала соберите список пакетов, связанных с PHP:
dpkg -l | grep php | awk '{print $2}' | tr "\n" " "
  • Просмотрите полученный список. Если в нем присутствуют пакеты, не имеющие отношения к PHP, вы можете удалить только те пакеты, которые действительно хотите избавиться.

  • Удалите пакеты, используя команду:

sudo apt-get purge <пакеты-php>

3. Очистка конфигурационных файлов

Послепурга, может остаться несколько конфигурационных файлов. Чтобы их удалить, используйте:

sudo rm -rf /etc/php*

Эта команда удалит все конфигурационные файлы PHP, включая 5.3 и любые другие версии.

4. Удаление зависимостей

После удаления основного пакета PHP, полезно очистить систему от ненужных зависимостей:

sudo apt autoremove

5. Поиск и удаление оставшихся файлов

В некоторых случаях файлы могут остаться в файлах и каталогах, не относящихся к пакетам управления пакетами. Чтобы найти их, используйте:

sudo find / -name "*php*"

Проверьте найденные пути и удалите не нужные директории или файлы с помощью:

sudo rm -rf /путь/к/каталогу или файлу

6. Заключение

Удаление PHP или его пакетов может повлиять на работу приложений, ожидающих его наличия. Убедитесь, что у вас есть резервные копии и проверенный план восстановления в случае возникновения проблем.

Кроме того, если вы дополнительно хотите перевести систему на другую версию PHP, например PHP 5.2, обратитесь к документации или руководствам по установке этой версии.

Следуя данной инструкции, вы сможете эффективно и безопасно удалить PHP с вашего сервера.

Оцените материал
Добавить комментарий

Капча загружается...