Install PHP 7.4, 7.3, 7.2 on Amazon Linux 2

por | 3 noviembre, 2021

Confirm that the amazon-linux-extras package is installed:

$ which amazon-linux-extras
/usr/bin/amazon-linux-extras

If the command doesn’t return any output, then install the package that will configure the repository:

sudo yum install -y amazon-linux-extras

Install PHP 7.4, 7.3, 7.2 on Amazon Linux 2

Let’s confirm that PHP 7.x topic is available in our Amazon Linux 2 machine:https://ba81e333c7babb426e39b458bb330c84.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html

$ sudo  amazon-linux-extras | grep php
NOTE: The livepatch extra is in public preview, not meant for production use

 15  php7.2                   available    \
 17  lamp-mariadb10.2-php7.2  available    \
 31  php7.3                   available    \
 42  php7.4                   available    [ =stable ]

As we can see all PHP 7 topics, in this example we’ll enable php7.4 topic.

sudo amazon-linux-extras enable php7.4

Now install PHP packages from the repository.

sudo yum clean metadata
sudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

Accept installation of PHP 7 packages on Amazon Linux 2.https://ba81e333c7babb426e39b458bb330c84.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html

Dependencies Resolved

========================================================================================================================================================
 Package                                Arch                      Version                                    Repository                            Size
========================================================================================================================================================
Installing:
 php                                    x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    3.2 M
 php-bcmath                             x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                     68 k
 php-cli                                x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    4.9 M
 php-common                             x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    1.1 M
 php-fpm                                x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    1.7 M
 php-gd                                 x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    180 k
 php-intl                               x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    221 k
 php-json                               x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                     70 k
 php-mbstring                           x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    511 k
 php-mysqlnd                            x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    238 k
 php-pear                               noarch                    1:1.10.7-3.amzn2.0.1                       amzn2-core                           354 k
 php-xml                                x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    198 k
Installing for dependencies:
 apr                                    x86_64                    1.6.3-5.amzn2.0.2                          amzn2-core                           118 k
 apr-util                               x86_64                    1.6.1-5.amzn2.0.2                          amzn2-core                            99 k
 apr-util-bdb                           x86_64                    1.6.1-5.amzn2.0.2                          amzn2-core                            19 k
 generic-logos-httpd                    noarch                    18.0.0-4.amzn2                             amzn2-core                            19 k
 httpd                                  x86_64                    2.4.43-1.amzn2                             amzn2-core                           1.3 M
 httpd-filesystem                       noarch                    2.4.43-1.amzn2                             amzn2-core                            23 k
 httpd-tools                            x86_64                    2.4.43-1.amzn2                             amzn2-core                            87 k
 libxslt                                x86_64                    1.1.28-5.amzn2.0.2                         amzn2-core                           243 k
 libzip                                 x86_64                    1.3.2-1.amzn2.0.1                          amzn2-core                            62 k
 mailcap                                noarch                    2.1.41-2.amzn2                             amzn2-core                            31 k
 mod_http2                              x86_64                    1.15.3-2.amzn2                             amzn2-core                           146 k
 oniguruma                              x86_64                    5.9.6-1.amzn2.0.3                          amzn2-core                           127 k
 php-pdo                                x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                    133 k
 php-process                            x86_64                    7.4.5-1.amzn2                              amzn2extra-php7.4                     88 k

Transaction Summary
========================================================================================================================================================
Install  12 Packages (+14 Dependent packages)

Total download size: 15 M
Installed size: 61 M
Is this ok [y/d/N]: y

Check default PHP version:

$ php --version
PHP 7.4.5 (cli) (built: Apr 23 2020 00:10:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

To install PHP 7.2, make sure you disable 7.4 and 7.3 then enable 7.2.

sudo amazon-linux-extras disable php7.4
sudo amazon-linux-extras disable php7.3
sudo amazon-linux-extras enable php7.2
sudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

Confirm version of PHP.

$ php -v
PHP 7.2.31 (cli) (built: Jul  2 2020 23:17:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Similar commands should be used when installing PHP 7.3 on Amazon Linux 2.

sudo amazon-linux-extras disable php7.4
sudo amazon-linux-extras disable php7.2
sudo amazon-linux-extras enable php7.3
sudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

Learning materials: