Table of Contents

we will teach you how to install PHP 7.4, 7.3, or 7.2 on an AWS EC2 instance in this article. To do so, you must first set up an EC2 instance. After you’ve finished creating your EC2 instance, you’ll need to connect to it via SSH or the EC2 Management console.

Connect your Amazon Web Services (AWS) instance

Install PHP on amazon AWS Server -Yehiweb

Before installing PHP, you must update your privileges to root user (sudo su).

Install PHP on amazon AWS -Yehiweb

Let’s get PHP installed on the EC2 instance.

Installing the Apache Webserver.

$ yum install httpd -y

Check server running status

$ service httpd status
If you notice that the server is inactive, run the command below to start it.
$ service httpd start

Now copy and paste the EC2 Instance Public DNS, such as ec2-54-xxx-xxx-xxx.compute-1.amazonaws.com, into your browser and see if the apache server is up and running.

PHP 7.4 installation on server

Check for the inclusion of the amazon-linux-extras package:

$ which amazon-linux-

extras/usr/bin/amazon-linux-extras

Install the package that will configure the repository if the command does not return some output:

$ sudo yum install -y amazon-linux-extras

PHP 7.4, 7.3, 7.2 installations on Amazon AWS EC2

Let’s double-check that our AWS EC2 machine supports PHP 7.x:

$ 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

We’ll enable the php 7.4 topic in this case, as we can see all PHP 7 topics.

$ sudo amazon-linux-extras enable php7.4

Now, from the repository, install PHP packages.

$ 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 PHP 7 packages to be installed on AWS EC2.

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 the default PHP Version

$ php -v
PHP 7.4.15 (cli) (built: Feb 11 2021 17:53:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

To install PHP 7.2, disable 7.4 and 7.3 and 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}
Check PHP version
$ 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

Installing PHP 7.3 on Amazon AWS EC2, similar commands can be used.

Learn more: How to import MySQL from SQL File with PHP

Conclusion:

PHP has now been installed in our EC2 instance. Please ask anything in the comment section if you have any questions.