Introduction
PHP is a popular server scripting language known for creating dynamic and interactive web pages. Getting up and running with your language of choice is the first step in learning to program.
This tutorial will guide you through installing PHP 7.4 on Ubuntu and setting up a local programming environment via the command line. You will also install a dependency manager, Composer, and test your installation by running a script.
If youâre a student and to develop a PHP application, youâre mostly going to need PHP or PHP-FPM (if youâre going to be using Nginx HTTP server) and related modules installed.
PHP or PHP-FPM (for Nginx) is an open-source server scripting language use for creating dynamic web applications and websites.
It is a widely used, free, and efficient alternative language to competitors such as Microsoftâs ASP and othersâŚ. Most popular content management systems like WordPress, Joomla, Drupal use PHP or PHP-FPM to functionâŚ.
When youâre ready to set up PHP with Apache2 or PHP-FPM with Nginx, follow the steps below:
Step 1: Setup PHP with Apache2 HTTP Server
To use PHP with Apache2 HTTP server, you should first install Apache2⌠You can do that by simply running the commands below:
sudo apt update
sudo apt install apache2
After installing Apache2, the commands below can be used to stop, start and enable the Apache2 service to always start up when the server boots up.
sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Step 2: Install PHP 7.4 to Support Apache2
PHP 7.4 may not be available in Ubuntu default repositories⌠in order to install it, you will have to get it from third-party repositories.
Run the commands below to add the below third-party repository to upgrade to PHP / PHP-FPM 7.4
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Then update and upgrade to PHP 7.4
sudo apt update
Next, run the commands below to install PHP 7.4 and related modules.
There are many PHP modules that perform different functionsâŚ. however, these are some popular ones that may be needed when developing PHP-based websitesâŚ
sudo apt-get install php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-imagick php7.4-recode php7.4-tidy php7.4-xmlrpc
The line above will allow PHP to function with many popular PHP-based websites and applications.
Step 3: Configure PHP 7.4 for Apache2
Now that Apache2 and PHP are installed, you may want to configure Apache2 to use PHP properly. The default Apache2 PHP configuration file is at /etc/php/7.4/apache2/php.ini
Open PHP Apache2 configuration file by running the commands below
sudo nano /etc/php/
7.4
/apache2/php.ini
Then edit the file to suit your environment. Some important lines to consider:
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago
Next, lookup Apache2 dir. conf file and confirm the line below:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
If you donât see the index.php definition on the line, please add it and save the file.
Restart Apache2 and PHP services
sudo systemctl restart apache2.service
Thatâs it! That is how one installs PHP with Apache2 support.
For PHP 7.4-FPM with Nginx HTTP server, follow the steps below:
Step 1: Setup PHP 7.4-FPM with Nginx HTTP server
To use PHP 7.4-FPM with Nginx HTTP server, you should first install Nginx⌠To do that, run the commands below:
sudo apt update
sudo apt install nginx
After installing Nginx, the commands below can be used to stop, start and enable the Nginx service to always start up when the server boots up.
sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Step 2: Install PHP 7.4-FPM for Nginx
If youâre running Nginx then the commands below should get PHP-FPM and related modules installed.
There are many PHP-FPM modules that perform different functionsâŚ. however, these are some popular ones that may be needed when developing PHP-based websites.
sudo apt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-gd php7.4-imagick php7.4-recode php7.4-tidy php7.4-xmlrpc
The line above will allow PHP to function with many popular PHP-based websites and applications.
Step 3: Configure PHP 7.4-FPM for Nginx
Now that Nginx and PHP 7.4-FPM is installed, you may want to configure Nginx to use PHP 7.4-FPM properly. The default Nginx PHP-FPM configuration file is at /etc/php/7.4/fpm/php.ini
Open PHP Apache2 configuration file by running the commands below
sudo nano /etc/php/
7.4
/fpm/php.ini
Then edit the file to suit your environment. Some important lines to consider:
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago
Save the file and exit.
Restart Nginx and PHP-FPM
sudo systemctl restart nginx.service
sudo systemctl restart php7.4-fpm
At this point, Apache2 or Nginx with PHP or PHP-FPM should be installed and ready to use. you can test PHP / PHP-FPM settings by creating a blank file.
sudo nano /var/www/html/phpinfo.php
Then add the line in the file and save.
<?php phpinfo( ); ?>
Save the file and open your browser and browse to the server name or IP address followed by /phpinfo.php
You should see something similar to the image below⌠if you do, then youâre all good!
Conclusion
Congratulations! Youâve successfully installed and configured Apache2 / Nginx with PHP / PHP-FPM support on Ubuntu servers.
Im obliged for the blog.Thanks Again. Want more.