This is probably easier to do for PHP 7.4, but I wanted PHP 7.3 to make sure everything is compatible with existing code. The code below assumes you are doing this in an interactive shell in a Docker container build for creating binaries for AWS Lambda. Doing this is explained here
First, install the necessary tools to build PHP
$ yum update -y $ yum install autoconf bison gcc gcc-c++ libcurl-devel libxml2-devel -y
Next, build the SSL version required for PHP 7.3 build
$ curl -sL http://www.openssl.org/source/openssl-1.0.1k.tar.gz | tar -xvz $ cd openssl-1.0.1k $ ./config & make & make install
Then download and build PHP 7.3, and configure with all the support for accessing MySQL databases
$ cd .. $ curl -sL https://github.com/php/php-src/archive/php-7.3.0.tar.gz | tar -xvz $ cd php-src-php-7.3.0 $ ./buildconf --force $ /configure --prefix=/home/ec2-user/php-7-bin/ --with-openssl=/usr/local/ssl --with-curl --without-libzip --with-zlib --enable-zip --with-pdo-mysql --with-mysqli=mysqlnd $ make install
Finally, check that the MySQL modules are there:
$ /home/ec2-user/php-7-bin/bin/php -m