We can use the official PHP packages and Apache’s packages. Follow the below steps to do so.
1. Install PHP 7.0 and Apache web server 2.4 on your Amazon Linux AMI
# Remove current apache & php
sudo yum remove httpd* php*
# Install Apache 2.4
sudo yum install httpd24
# Install PHP 7.0
# automatically includes php70-cli php70-common php70-json php70-process php70-xml
sudo yum install php70
# Install a few commonly used php packages
sudo yum install php70-gd
sudo yum install php70-imap
sudo yum install php70-mbstring
sudo yum install php70-mysqlnd
sudo yum install php70-opcache
sudo yum install php70-pdo
sudo yum install php70-pecl-apcu
2. Modify DirectoryIndex to include index.php
sudo nano /etc/httpd/conf/httpd.conf
find this:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
and modify it to look like this:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
If the directory has both index.html and index.php, then it will the html file with the following set up. If you do not want that to happen, then these you have these options:
We have to reverse their order so that index.php will be displayed if this happens:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Only use index.php as the DirectoryIndex:
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
3. Start the Apache web server
sudo service httpd start
4. Configure your Apache web server as such it starts at every boot
sudo chkconfig httpd on
5. Test your installation
Create phpinfo.php:
echo '<?php print phpinfo();' | sudo tee --append /var/www/html/phpinfo.php
Enter your instance’s IP address with /phpinfo.php to test if PHP has been installed. You will see a sample PHP page with commands.
Example: http://xxx.xxx.xxx.xxx/phpinfo.php