简体   繁体   中英

Uninstall php 7 in ubuntu 18.04

I have a server that has an application that runs with PHP 5.6. But I upgraded the server from Ubuntu 14.04 to 18.04 and in the process I also upgraded PHP to 7.2. Now I'm trying to uninstall it but I'm finding difficult.

I have run the command:

sudo apt-get remove php

and

sudo apt-get remove --purge php

Its says that PHP it's not installed, but running php --version I'm still seeing the version 7 of PHP.

PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

This will remove all php7 versions, be it php 7.0 or php 7.1 etc..

sudo apt-get purge php7.*
sudo apt-get autoclean
sudo apt-get autoremove
  • apt/apt-get autoclean → cleans obsolete deb-packages, less than clean
  • apt/apt-get autoremove → removes orphaned packages which are not longer needed from the system, but not purges them, use the --purge option together with the command for that.

**To Install PHP again **

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

if php7.0

sudo apt-get install php7.0

if php7.1

sudo apt-get install php7.1

if php7.2

sudo apt-get install php7.2

To switch that to the newer 7.1,7.2,7.3,7.4 version , first disable older PHP version :

user@test:~# sudo a2dismod php7.0

Then enable PHP 7.2 :

user@test:~# sudo a2enmod php7.2
sudo service apache2 restart

Install all the required extension, so it won't make any error in future. Replace command based on your version. I used 7.2 as I have installed that version.

sudo apt install php7.2-common php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-curl php7.2-gd php7.2-imagick php7.2-cli php7.2-dev php7.2-imap php7.2-mbstring php7.2-opcache php7.2-soap php7.2-zip php7.2-intl -y

Firstly you need to restart the apache to take all in effect and also You can install mutliple php version using this post or just using

sudo apt update
sudo apt-add-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php5.6 php5.6-cli php5.6-common

disable php7.2:

sudo a2dismod php7.2

enable php 5.6:

sudo a2enmod php5.6

After all restart the apache again to take into affect

service apache2 restart

This will remove PHP

sudo apt-get purge `dpkg -l | grep php7.2| awk '{print $2}' |tr "\n" " "`
sudo apt-get purge php7.*
sudo apt-get autoremove --purge
whereis php
sudo rm -rf /etc/php

Just run

sudo apt-get purge 'php*'

To uninstall PHP

sudo apt-get remove –purge php*
sudo apt-get purge php*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get remove dbconfig-php
sudo apt-get dist-upgrade

The output of the below command will provide you with information on the installed package software, version, architecture, and a short description of the package. grep command is used to find the PHP package

sudo dpkg --get-selections | grep php | cut -f 1

sudo apt-get remove --purge sudo whereis php sudo rm -rf <directory/file path from the previous command output>

apt-mark to the rescue

I think it is a good idea to point out the existence of apt-mark hold <package-name> . Once you have a specific version installed that you want to keep, you can prevent accidental upgrades. So you can run apt upgrade , apt full-upgrade and don't need to worry about which PHP version you will end up with. That said, you also prevent scenarios (as seen with the commenters above) where you end up with multiple major and main releases installed next to each other at the same time.

For example, if you have PHP 7.4 installed, and your App doesn't support PHP 8.* yet, then:

apt-mark hold php7.4-common
apt-mark hold php7.4-fpm

try to use the purge command

purge is equivalent to the remove command, but you can try it!

This is work on my server:

sudo apt purge php5.6 php5.6-common
sudo apt purge php7.x php7.x-common

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM