How to Install PHP 8.3 on Ubuntu 24.04, 22.04 or 20.04

PHP 8.3 marks a significant leap forward in the evolution of this widely used server-side scripting language, known for its flexibility, simplicity, and speed. With the introduction of PHP 8.3, developers gain access to a suite of enhancements that streamline coding practices, bolster security, and improve performance. This version continues to refine the language, building on the foundation laid by PHP 8.2, and introduces innovative and practical features.

PHP 8.3 Highlights:

  • Typed class constants ensure stricter type checks, leading to more robust codebases.
  • Dynamic class constant fetch enhances code readability and maintainability.
  • The new #[\Override] attribute makes code more reliable by enforcing method overrides.
  • Deep-cloning of readonly properties in the __clone method, enabling more flexible object copying.
  • json_validate() function for efficient validation of JSON strings.
  • Randomizer::getBytesFromString() method offers a secure way to generate random strings.
  • New methods and functions such as DOMElement::getAttributeNames(), IntlCalendar::setDate(), and ldap_connect_wallet(), expand PHP’s functionality.

These updates enhance PHP’s capabilities and underscore its ongoing commitment to security, performance, and developer productivity. PHP 8.3 is poised to support the next generation of web applications with these features.

Let’s dive into the technical steps to embrace PHP 8.3’s potential.

Import PHP 8.3 PPA

Update Ubuntu Before PHP 8.3 Installation

Before installing PHP, it’s essential to update your Ubuntu system. This ensures system security and compatibility for new software installations.

Begin by refreshing your package list and upgrading any outdated packages with these commands:

sudo apt update
sudo apt upgrade

Install Initial Packages for PHP PPA

Prepare your system for PHP’s Personal Package Archive (PPA) by installing the necessary packages. These packages facilitate the secure handling of additional repositories, including certificate authentication and software property management.

Execute the following command:

sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y

Add PHP 8.3 PPA

To access the latest PHP versions, integrate Ondřej Surý’s PHP PPA into your Ubuntu system. This repository is more up-to-date than Ubuntu’s default PHP packages.

Import this repository using the following:

sudo add-apt-repository ppa:ondrej/php -y

After incorporating the PPA, it’s important to update your package cache to recognize this new source:

sudo apt update

Conclude by upgrading any packages that require updates:

sudo apt upgrade

Selection PHP 8.3 Installation Option via APT

Option 1: Install PHP as an Apache Module

For Apache HTTP server setups, installing PHP as a module optimizes server functionality.

To install PHP 8.3 on Ubuntu as an Apache module, execute:

sudo apt install php8.3 libapache2-mod-php8.3

After installation, restart Apache to integrate the new PHP 8.3 module:

sudo systemctl restart apache2

Option 2: Install Apache with PHP-FPM on Ubuntu

PHP-FPM enhances performance for high-traffic websites. To install PHP 8.3 with PHP-FPM for Apache, use:

sudo apt install php8.3-fpm libapache2-mod-fcgid

Activate PHP-FPM with:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.3-fpm

Then, restart Apache to implement the changes:

sudo systemctl restart apache2

Option 3: Install PHP 8.3 Support for Nginx

Nginx utilizes PHP-FPM to process PHP files. Install PHP 8.3 and PHP-FPM on Ubuntu for Nginx using:

sudo apt install php8.3 php8.3-fpm php8.3-cli

If PHP-FPM 8.3 doesn’t start automatically, initiate it manually:

sudo systemctl enable php8.3-fpm --now

Configuring Nginx Server Block for PHP-FPM 8.3 on Ubuntu

Modify the Nginx server block to handle PHP files by adding:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}

Validate your Nginx configuration syntax with:

sudo nginx -t

A successful validation displays:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Restart Nginx to apply your modifications:

sudo systemctl restart nginx

Verifying PHP 8.3 Installation via CLI

To confirm the PHP 8.3 version installed, use:

php --version

This command reveals the current PHP version, ensuring successful installation or upgrade.

Install PHP 8.3 Extensions

Install PHP 8.3 Extensions

Select appropriate extensions to tailor PHP 8.3 to your project’s specific needs on Ubuntu 22.04 or 20.04. This customization enhances both performance and security.

Install your chosen extensions with the following command example:

sudo apt install php8.3-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}

Understanding PHP 8.3 Extensions

  • php-cli: Runs PHP scripts in the command line.
  • php-fpm: FastCGI Process Manager, optimizing request handling.
  • php-curl: Facilitates server communication.
  • php-mysqlnd: MySQL Native Driver for database interaction.
  • php-gd: Image manipulation library.
  • php-opcache: Caches precompiled script bytecode to boost PHP performance.
  • php-zip: Manages zip file operations.
  • php-intl: Supports international character sets.
  • php-common: Offers functionalities common to various PHP modules.
  • php-bcmath: Handles precise floating-point arithmetic.
  • php-imagick: Image processing with ImageMagick.
  • php-xmlrpc: Provides XML-RPC server and client functions.
  • php-readline: Facilitates interactive terminal input.
  • php-memcached & php-redis: Enhance performance through caching.
  • php-mbstring: Manages multibyte character encodings.
  • php-apcu: User caching for PHP application performance.
  • php-xml & php-dom: For XML parsing and manipulation.

To explore more modules, use the search command:

sudo apt search php8.3-

Monitoring Installed PHP 8.3 Modules

Regularly check and manage your PHP modules to ensure system efficiency. List the loaded PHP modules with:

php8.3 -m

Install PHP 8.3 Development Tools

For advanced PHP development and debugging, install the following tools:

sudo apt install php8.3-pcov php8.3-dev

These steps guide you through optimizing your PHP 8.3 environment on Ubuntu, ensuring a balance between functionality and system performance.

Final Thoughts

In this guide, we’ve navigated through the key steps to install PHP 8.3 on Ubuntu 22.04 or 20.04, tailoring to different server setups like Apache and Nginx. As you move forward, remember to keep your system and PHP versions up-to-date for enhanced security and performance. You’re now equipped to fully utilize PHP 8.3’s capabilities in your web development endeavors, bringing more efficiency and robustness to your projects. Keep exploring and experimenting with PHP’s features to maximize your web development potential.

Leave a Comment