Facebook Twitter Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook Twitter Instagram
    TecAdmin
    You are at:Home»Programming»PHP»How To Install PHP 8.2, 7.4, & 5.6 on Ubuntu 18.04

    How To Install PHP 8.2, 7.4, & 5.6 on Ubuntu 18.04

    By RahulFebruary 28, 20233 Mins Read

    PHP is a popular server-side scripting language that is used to create dynamic web pages and web applications. It is open-source and is widely used for developing web applications, content management systems, and e-commerce websites. In this article, we will discuss how to install PHP 8.2, 7.4, and 5.6 on Ubuntu 18.04.

    Advertisement

    Ubuntu 18.04 comes with PHP 7.2 installed by default. However, if you need to use an older or a newer version of PHP, you can follow the instructions below.

    • Read: How to Install PHP 7.0 & PHP 5.6 on Debian 8/7 via PPA

    Note: Before installing a new version of PHP, make sure to backup any files that may be affected by the installation process.

    Step 1: Add the Ondřej Surý PPA

    The Ondřej Surý PPA is a Personal Package Archive that contains the latest versions of PHP. To add this PPA to your system, run the following command in your terminal:

    sudo add-apt-repository ppa:ondrej/php 
    

    After adding the PPA, update your package list with the following command:

    sudo apt-get update 
    

    Step 2: Installing PHP

    Once you have added the PPA to your Ubuntu system, You can install required PHP version on your system. Even you can install multiple PHP versions at the same time.

    • Installing PHP 8.2:
      sudo apt-get install -y php8.2 
      
    • Installing PHP 7.4:
      sudo apt-get install -y php7.4 
      
    • Installing PHP 5.6:
      sudo apt-get install -y php5.6 
      

    Step 3: Verify PHP Version

    After the installation process is complete, you can check the PHP version by running the following command:

    php -v 
    
    PHP 8.2.3 (cli) (built: Feb 14 2023 16:58:12) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.2.3, Copyright (c) Zend Technologies
        with Zend OPcache v8.2.3, Copyright (c), by Zend Technologies
    

    Step 4: Change Default PHP Version

    In Ubuntu, multiple versions of PHP can be installed and used side-by-side. However, only one version can be set as the default at a time. If you have multiple versions of PHP installed and you want to change the default PHP version, follow the steps below:

    1. Check the available PHP versions by running the following command:
      ls /usr/bin/php* 
      

      This command will list all the available PHP versions installed on your system.

    2. To change the default PHP version, you can use the update-alternatives command. For example, if you want to set PHP 7.4 as the default version, run the following command:
      sudo update-alternatives --set php /usr/bin/php7.4 
      

      This command sets the /usr/bin/php7.4 binary as the default php command.

    3. If you have installed php-dev package, then you also need to set phpize and php-config as default.
      sudo update-alternatives --set phpize /usr/bin/phpize7.4 
      sudo update-alternatives --set php-config /usr/bin/php-config7.4 
      
    4. To verify the default PHP version, run the following command:
      php -v 
      

      This command should display the version of PHP that you just set as the default.

    By default, only one version of PHP can be set as the default, but multiple versions can be installed and used side-by-side. Remember to verify the default PHP version after making any changes.

    Conclusion

    In this article, we have discussed how to install PHP 8.2, 7.4, and 5.6 on Ubuntu 18.04. You can choose the version of PHP that you need for your project, depending on its requirements. Keep in mind that newer versions of PHP may not be compatible with older applications, so it’s always a good idea to check compatibility before upgrading. Additionally, remember to backup any files that may be affected by the installation process.

    PHP PHP 5.4 PHP 5.5 PHP 5.6 PHP5 PHP7
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    PHP Arrays: A Beginner’s Guide

    Running Laravel Queue Worker as a Systemd Service

    How to Change PHP Session Timeout

    View 40 Comments

    40 Comments

    1. Dave on November 2, 2021 4:55 pm

      After thinking it didn’t work, I realised php -v tells you the CLI version. This changes the apache version, so a phpinfo command in a php script revealed it did in fact work perfectly.
      Thanks

      Reply
    2. AMit singh on November 5, 2020 10:33 am

      Great Job Bro. working

      Reply
    3. Joseph on February 9, 2020 8:10 pm

      There’s certainly a great deal to find out
      abot this issue. I like all of the poins you made.

      Reply
    4. Diego Muñoz V on October 16, 2019 3:42 pm

      Hello Friend

      I am trying to do the installation and at the time of executing the repository command I have an error after pressing ENTER

      # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
      More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
      Press [ENTER] to continue or ctrl-c to cancel adding it

      gpg: keyring `/tmp/tmp93drbu74/secring.gpg’ created
      gpg: keyring `/tmp/tmp93drbu74/pubring.gpg’ created
      gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
      gpg: /tmp/tmp93drbu74/trustdb.gpg: trustdb created
      gpg: key E5267A6C: public key “Launchpad PPA for Ond\xc5\x99ej Sur?” imported
      gpg: Total number processed: 1
      gpg: imported: 1 (RSA: 1)
      Exception in thread Thread-1:
      Traceback (most recent call last):
      File “/usr/lib/python3.4/threading.py”, line 920, in _bootstrap_inner
      self.run()
      File “/usr/lib/python3.4/threading.py”, line 868, in run
      self._target(*self._args, **self._kwargs)
      File “/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py”, line 687, in addkey_func
      func(**kwargs)
      File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 370, in add_key
      return apsk.add_ppa_signing_key()
      File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 261, in add_ppa_signing_key
      tmp_export_keyring, signing_key_fingerprint, tmp_keyring_dir):
      File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 210, in _verify_fingerprint
      got_fingerprints = self._get_fingerprints(keyring, keyring_dir)
      File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 202, in _get_fingerprints
      output = subprocess.check_output(cmd, universal_newlines=True)
      File “/usr/lib/python3.4/subprocess.py”, line 609, in check_output
      output, unused_err = process.communicate(inputdata, timeout=timeout)
      File “/usr/lib/python3.4/subprocess.py”, line 947, in communicate
      stdout = _eintr_retry_call(self.stdout.read)
      File “/usr/lib/python3.4/subprocess.py”, line 491, in _eintr_retry_call
      return func(*args)
      File “/usr/lib/python3.4/encodings/ascii.py”, line 26, in decode
      return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc5 in position 92: ordinal not in range(128)

      Reply
      • Diego Muñoz V on October 16, 2019 3:47 pm

        Hello Friend
        I was able to solve the execution and update, but when installing 5.6 it can’t find it …

        I have Ubuntu 14.04

        [email protected]:~# sudo apt-get install -y php5.6
        Reading package lists… Done
        Building dependency tree
        Reading state information… Done
        E: Unable to locate package php5.6
        E: Couldn’t find any package by regex ‘php5.6’

        Reply
    5. Rahul on June 19, 2019 6:39 am

      Could you do a tutorial based on version 5.3.8 and 7.3.5 or could you suggest me the approach to it.

      Reply
    6. arthuro on February 14, 2019 10:54 am

      Even the first line doesn’t work on Ubuntu 14.04:
      > sudo apt-get install -y python-software-properties
      > E: Unable to locate package python-software-properties

      Reply
    7. Mohit on February 10, 2018 2:32 pm

      Hi Author,

      I followed your instrunctions for installing php 7.1 for ubuntu server (Ubuntu 12.04.5 LTS)
      I am getting this output (after step :sudo apt-get install -y php7.1)
      Building dependency tree
      Reading state information… Done
      E: Unable to locate package php7.1
      E: Couldn’t find any package by regex ‘php7.1’

      Adding here couple of results than could help pinpoint the issue I have

      #lsb_release -a
      LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch
      Distributor ID: Ubuntu
      Description: Ubuntu 12.04.5 LTS
      Release: 12.04
      Codename: precise
      #apt-cache policy php5-cli

      Any suggestion for fixing it.

      Thanks in advance!

      Reply
      • Mohit on February 10, 2018 2:36 pm

        I forget to add output for #apt-cache policy php5-cli

        Here it is:

        php5-cli:
        Installed: (none)
        Candidate: 5.3.10-1ubuntu3.26
        Version table:
        5.3.10-1ubuntu3.26 0
        500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://gb.archive.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
        100 /var/lib/dpkg/status
        5.3.10-1ubuntu3 0
        500 http://gb.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

        Reply
        • Rahul K. on February 12, 2018 4:22 am

          This PPA no more supported Ubuntu 12.04 end of life version.

          Reply
          • Mohit on February 12, 2018 6:41 am

            Hi Author,

            Thanks for quick reply!
            Is there any way to upgrade php 7.0 on this server (Ubuntu 12.04.5 LTS)?

            or

            only option for me is to upgrade ubuntu to Ubuntu 16.04 LTS / Ubuntu 14.04.5 LTS ?

            Thanks in Advance!

            Reply
            • Rahul K. on February 12, 2018 1:17 pm

              Try tutorial. Make sure to backup all data before upgrading.

              https://tecadmin.net/upgrade-ubuntu-12-04-to-ubuntu-14-04/

              Reply
              • idrees Laghari on September 2, 2021 2:42 am

                Rahul k bro my website only work Ubuntu 16.04 but all vps company remove 16.04 operating system i install 18.04 but not work please contact my

              • Rahul on September 3, 2021 4:52 am

                The operating system version should not be an issue. Your application might need an older PHP version. You can try Docker to run an older PHP version on Ubuntu 16.

    8. ari on April 27, 2017 5:12 am

      Cannot add PPA: ‘ppa:~ondrej/ubuntu/php’.
      ERROR: ‘~ondrej’ user or team does not exist.

      i cannot solved this problem

      Please help Me

      Reply
      • ron on June 21, 2017 6:42 am

        me too 🙁

        [email protected]:~# add-apt-repository -y ppa:ondrej/php
        Cannot add PPA: ‘ppa:~ondrej/ubuntu/php’.
        ERROR: ‘~ondrej’ user or team does not exist.
        [email protected]:~#

        Reply
        • Rahul K. on June 21, 2017 9:11 am

          Hi Ron & Ari,

          Which Ubuntu OS version are you using? It’s working on my Ubuntu 16.04 system.

          Reply
          • Ron on June 21, 2017 1:55 pm

            My OS Version is:

            [email protected]:~# lsb_release -a
            No LSB modules are available.
            Distributor ID: Ubuntu
            Description: Ubuntu 16.04.2 LTS
            Release: 16.04
            Codename: xenial
            [email protected]:~#

            any suggest?…Thx before :),,

            Reply
            • Rahul K. on June 22, 2017 4:18 am

              Hi Ron, Try this solution

              $ apt-get install -y language-pack-en-base
              $ LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

              Reply
    9. Jaga on March 17, 2017 7:22 am

      Excellent

      Reply
    10. Peter David Carter on December 28, 2016 5:32 pm

      This doesn’t appear to work anymore.

      [email protected]:~/upm$ sudo apt-get install -y php5.6
      Reading package lists… Done
      Building dependency tree
      Reading state information… Done
      E: Unable to locate package php5.6
      E: Couldn’t find any package by regex ‘php5.6’

      Reply
      • Rahul K. on December 29, 2016 5:10 am

        Peter,
        Which OS are you using ? Its working for me.

        [email protected]:~$ sudo apt install php5.6
        Reading package lists… Done
        Building dependency tree
        Reading state information… Done
        The following additional packages will be installed:
        apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5.6 libapr1 libaprutil1
        libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libssl1.0.2 php-common php5.6-cli php5.6-common
        php5.6-json php5.6-opcache php5.6-readline
        Suggested packages:
        apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear
        The following NEW packages will be installed:
        apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5.6 libapr1 libaprutil1
        libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libssl1.0.2 php-common php5.6 php5.6-cli
        php5.6-common php5.6-json php5.6-opcache php5.6-readline
        0 upgraded, 18 newly installed, 0 to remove and 415 not upgraded.
        Need to get 8,458 kB of archives.
        After this operation, 26.0 MB of additional disk space will be used.
        Do you want to continue? [Y/n]

        Reply
      • Jeroen Landheer on April 2, 2017 6:41 am

        Remember to run apt-get update after you added the PPA, otherwise your system won’t be able to find it.

        Reply
    11. phil on September 9, 2016 11:42 pm

      Hello,
      I tried installing php5.6 on Ubuntu 16.04, I followed the guide but instead of php5.6 php7.0.8 has been installed.

      Did anyone have the same problem?

      Cheers

      Reply
      • Rahul K. on September 10, 2016 8:03 am

        Hi phill,

        Actually Ubuntu 16.04 have php 7 in its default repositories. That’s why it may install with packages dependencies. Please make sure that you use following syntax with php installation, like below

        $ apt install php5.6 php5.6-mysql

        Reply
        • Aravindh on June 10, 2021 4:59 am

          HI rahul,
          i also have using ubuntu 16.04 xenial..
          No LSB modules are available.
          Distributor ID: Ubuntu
          Description: Ubuntu 16.04.7 LTS
          Release: 16.04
          Codename: xenial
          but still am facing these issues

          E: Unable to locate package php7.2
          E: Couldn’t find any package by glob ‘php7.2’
          E: Couldn’t find any package by regex ‘php7.2’

          Reply
          • Rahul on June 10, 2021 5:38 am

            Ubuntu 16.04 LTS reaches to end of life. So the packages for this have been removed from repository: https://launchpad.net/~ondrej/+archive/ubuntu/php

            Reply
      • Your Friend on September 13, 2016 7:42 pm

        If you want to toggle between versions of php you can do so with the following commands:

        i. from 7.0 to 5.6 : sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
        ii. from 7.0 to 5.6 : sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

        Reply
    12. NElizaga on June 25, 2016 11:40 pm

      Impressive guide.

      Reply
    13. joop on June 4, 2016 7:05 am

      Please help me , I need php 5.4 the script that I use can only work with php 5.4.

      On Ubuntu 16,04 I follow this guide , but I get php5 not found ? can not install it.

      Thank you 🙂

      Reply
    14. Van on April 26, 2016 8:05 am

      Note that for php 5.5 for an ubuntu after 14.04, you have to manually update the sources.list given by the ppa to change your current ubuntu name to trusty, then you will be able to install the php5* packages

      Reply
    15. Filip on February 5, 2016 3:25 pm

      How can I remove php5 package which is loaded from ubuntu repository? For example if I add ondrej ppa, I always install ubuntu php5. When I type command apt-cache policy php5 I can see that candidate foo installation is ubuntu version not third party which I added..

      Reply
    16. Lucas on December 19, 2015 8:04 pm

      Thank you

      Reply
    17. Baruch Youssin on November 17, 2015 7:32 pm

      Thanks for clear article.
      I would like to upgrade my PHP to 5.5 on Ubuntu 12.04.
      I have seen a 2013 post http://www.dev-metal.com/how-to-setup-latest-version-of-php-5-5-on-ubuntu-12-04-lts/
      that says that the PPA you suggest would also update Apache to 2.4 and I want to stay with Apache 2.2 for now.
      I have checked the PPA and it does list Apache 2.4 among its packages.
      Would this ppa upgrade my Apache to 2.4?
      Many thanks.

      Reply
    18. anon on September 29, 2015 11:39 am

      Totally doesnt work for php 5.5, thanks for wasting 30 secs of my time

      ubuntu 15.04

      Reply
      • James on January 6, 2016 12:51 am

        I concur. It still install 5.6.

        Reply
    19. Katsukawa on June 11, 2015 12:30 pm

      Very helpfull, thank you very much!

      Reply
    20. tquang on May 22, 2015 2:07 am

      Dear Author,

      Could you please recheck for PHP 5.4? Because I’m using Ubuntu 15.04 and no way to do this. Below are output when I entered these commands:

      W: Failed to fetch 404 Not Found
      W: Failed to fetch 404 Not Found [IP: x.x.x.x 80]

      So, I don’t complete like as your article. Please help, thank so much!

      Reply
    21. Satyam on December 20, 2014 4:21 pm

      Great work, I successfully installed php 5.6….

      Reply
      • pat'son on April 22, 2015 2:47 pm

        me, too

        Reply

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • How to List Manually Installed Packages in Ubuntu & Debian
    • 10 Bash Tricks Every Developer Should Know
    • How to Validate Email Address in JavaScript
    • Firewalld: Common Firewall Rules and Commands
    • 12 Apk Commands in Alpine Linux Package Management
    Facebook Twitter Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.