In this tutorial, you will learn how to install PHP 8 on Ubuntu 22.04. PHP 8 is a major update of the PHP language. It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, nullsafe operator, JIT, and improvements in the type system, error handling, and consistency.
Install PHP 8 on Ubuntu 22.04
The default Ubuntu 22.04 repositories provide PHP 8 packages by default;
apt-cache policy php8*
Sample output;
php8.0-pdo-pgsql: Installed: (none) Candidate: (none) Version table: php8.1-enchant: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-pdo-firebird: Installed: (none) Candidate: (none) Version table: php8.1-simplexml: Installed: (none) Candidate: (none) Version table: php8.1-mysqlnd: Installed: (none) Candidate: (none) Version table: php8.1-pspell: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-raphf: Installed: (none) Candidate: 2.0.1+1.1.2-13 Version table: 2.0.1+1.1.2-13 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-interbase: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-bcmath: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-simplexml: Installed: (none) Candidate: (none) Version table: php8.1-ctype: Installed: (none) Candidate: (none) Version table: php8.1-pgsql: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-enchant: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-interbase: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-iconv: Installed: (none) Candidate: (none) Version table: php8.1-sass: Installed: (none) Candidate: (none) Version table: php8.1-msgpack: Installed: (none) Candidate: 2.2.0~rc1+2.1.2+0.5.7-6 Version table: 2.2.0~rc1+2.1.2+0.5.7-6 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-gmagick: Installed: (none) Candidate: 2.0.6~rc1+1.1.7~rc3-10 Version table: 2.0.6~rc1+1.1.7~rc3-10 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-pdo-mysql: Installed: (none) Candidate: (none) Version table: php8.0-snmp: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-soap: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-snmp: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-pdo-mysql: Installed: (none) Candidate: (none) Version table: php8.1-soap: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-pdo-sqlite: Installed: (none) Candidate: (none) Version table: php8.1-solr: Installed: (none) Candidate: (none) Version table: php8.1-pdo-sqlite: Installed: (none) Candidate: (none) Version table: php8.1-http: Installed: (none) Candidate: 4.0.0+3.2.4+2.6.0-0+deb11u1ubuntu1 Version table: 4.0.0+3.2.4+2.6.0-0+deb11u1ubuntu1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-yaml: Installed: (none) Candidate: 2.2.2+2.1.0+2.0.4+1.3.2-5 Version table: 2.2.2+2.1.0+2.0.4+1.3.2-5 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-ssh2: Installed: (none) Candidate: 1.3.1+0.13-6 Version table: 1.3.1+0.13-6 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-common: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-curl: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-opcache: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-smbclient: Installed: (none) Candidate: 1.0.6-6 Version table: 1.0.6-6 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-imagick: Installed: (none) Candidate: 3.6.0-4 Version table: 3.6.0-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-mysql: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-mailparse: Installed: (none) Candidate: 3.1.2+2.1.7~dev20160128-7 Version table: 3.1.2+2.1.7~dev20160128-7 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-tidy: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-curl: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-imap: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-intl: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages php8.1: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages php8.1-shmop: Installed: (none) Candidate: (none) Version table: php8.1-tidy: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-odbc: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-imap: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-phpdbg: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-intl: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-calendar: Installed: (none) Candidate: (none) Version table: php8.0-mysqli: Installed: (none) Candidate: (none) Version table: php8.0-opcache: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-odbc: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-gd: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-sybase: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-mysqli: Installed: (none) Candidate: (none) Version table: php8.1-memcache: Installed: (none) Candidate: 8.0+4.0.5.2+3.0.9~20170802.e702b5f9+-7 Version table: 8.0+4.0.5.2+3.0.9~20170802.e702b5f9+-7 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-mbstring: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-xmlreader: Installed: (none) Candidate: (none) Version table: php8.0-ctype: Installed: (none) Candidate: (none) Version table: php8.1-memcached: Installed: (none) Candidate: (none) Version table: php8.0-pgsql: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-calendar: Installed: (none) Candidate: (none) Version table: php8.0-json: Installed: (none) Candidate: (none) Version table: php8.0-iconv: Installed: (none) Candidate: (none) Version table: php8.1-fileinfo: Installed: (none) Candidate: (none) Version table: php8.1-posix: Installed: (none) Candidate: (none) Version table: php8.0-phar: Installed: (none) Candidate: (none) Version table: php8.1-uopz: Installed: (none) Candidate: 7.1.1+6.1.2-2ubuntu1 Version table: 7.1.1+6.1.2-2ubuntu1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-common: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-xmlrpc: Installed: (none) Candidate: 3:1.0.0~rc3-2 Version table: 3:1.0.0~rc3-2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-json: Installed: (none) Candidate: (none) Version table: php8.1-pcov: Installed: (none) Candidate: (none) Version table: php8.1-mongodb: Installed: (none) Candidate: 1.12.0+1.9.2+1.7.5-4 Version table: 1.12.0+1.9.2+1.7.5-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-readline: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-gettext: Installed: (none) Candidate: (none) Version table: php8.1-uuid: Installed: (none) Candidate: 1.2.0-11 Version table: 1.2.0-11 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-phar: Installed: (none) Candidate: (none) Version table: php8.1-pdo-dblib: Installed: (none) Candidate: (none) Version table: php8.1-sockets: Installed: (none) Candidate: (none) Version table: php8.1-ds: Installed: (none) Candidate: 1.4.0-4 Version table: 1.4.0-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-gd: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-ps: Installed: (none) Candidate: 1.4.4+1.3.7-6 Version table: 1.4.4+1.3.7-6 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-igbinary: Installed: (none) Candidate: (none) Version table: php8.0-exif: Installed: (none) Candidate: (none) Version table: php8.0-mbstring: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-pdo-dblib: Installed: (none) Candidate: (none) Version table: php8.1-xmlreader: Installed: (none) Candidate: (none) Version table: php8.1-phpdbg: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-exif: Installed: (none) Candidate: (none) Version table: php8.0-fileinfo: Installed: (none) Candidate: (none) Version table: php8.1-gettext: Installed: (none) Candidate: (none) Version table: php8.1-redis: Installed: (none) Candidate: (none) Version table: php8.1-sqlite3: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-mysql: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-xmlwriter: Installed: (none) Candidate: (none) Version table: php8.0-sockets: Installed: (none) Candidate: (none) Version table: php8.0-pspell: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-readline: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-bcmath: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-sysvmsg: Installed: (none) Candidate: (none) Version table: php8.0-shmop: Installed: (none) Candidate: (none) Version table: php8.1-gearman: Installed: (none) Candidate: 2.1.0+1.1.2-11 Version table: 2.1.0+1.1.2-11 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-sysvsem: Installed: (none) Candidate: (none) Version table: php8.0-sysvshm: Installed: (none) Candidate: (none) Version table: php8.1-sybase: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-bz2: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-tokenizer: Installed: (none) Candidate: (none) Version table: php8.0-cgi: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-cli: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-dba: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-dev: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-dom: Installed: (none) Candidate: (none) Version table: php8.0-ldap: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-pdo-odbc: Installed: (none) Candidate: (none) Version table: php8.0-sqlite3: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-ffi: Installed: (none) Candidate: (none) Version table: php8.0-fpm: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-ftp: Installed: (none) Candidate: (none) Version table: php8.1-ast: Installed: (none) Candidate: 1.0.16-4 Version table: 1.0.16-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-gmp: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-bz2: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-cgi: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-cli: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-dba: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-dev: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-dom: Installed: (none) Candidate: (none) Version table: php8.1-ffi: Installed: (none) Candidate: (none) Version table: php8.1-fpm: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-ftp: Installed: (none) Candidate: (none) Version table: php8.1-ldap: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-gmp: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-pdo: Installed: (none) Candidate: (none) Version table: php8.1-sysvmsg: Installed: (none) Candidate: (none) Version table: php8.1-xmlwriter: Installed: (none) Candidate: (none) Version table: php8.1-amqp: Installed: (none) Candidate: 1.11.0-4 Version table: 1.11.0-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-pdo: Installed: (none) Candidate: (none) Version table: php8.1-psr: Installed: (none) Candidate: 1.2.0-4 Version table: 1.2.0-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-sysvsem: Installed: (none) Candidate: (none) Version table: php8.1-sysvshm: Installed: (none) Candidate: (none) Version table: php8.1-apcu: Installed: (none) Candidate: (none) Version table: php8.1-rrd: Installed: (none) Candidate: 2.0.3+1.1.3-6 Version table: 2.0.3+1.1.3-6 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-xml: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.0-xsl: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages php8.1-xdebug: Installed: (none) Candidate: 3.1.2+2.9.8+2.8.1+2.5.5-4 Version table: 3.1.2+2.9.8+2.8.1+2.5.5-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-mysqlnd: Installed: (none) Candidate: (none) Version table: php8.0-zip: Installed: (none) Candidate: 8.0.8-1ubuntu2 Version table: 8.0.8-1ubuntu2 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-pdo-pgsql: Installed: (none) Candidate: (none) Version table: php8.1-xml: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-xsl: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages php8.1-yac: Installed: (none) Candidate: 2.3.1+0.9.2-4 Version table: 2.3.1+0.9.2-4 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.1-zip: Installed: (none) Candidate: 8.1.0-1 Version table: 8.1.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages php8.1-zmq: Installed: (none) Candidate: 1.1.3-23 Version table: 1.1.3-23 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages php8.0-pdo-odbc: Installed: (none) Candidate: (none) Version table: php8.1-tokenizer: Installed: (none) Candidate: (none) Version table: php8.1-pdo-firebird: Installed: (none) Candidate: (none) Version table: php8.0-posix: Installed: (none) Candidate: (none) Version table: php8.1-oauth: Installed: (none) Candidate: 2.0.7+1.2.3-14 Version table: 2.0.7+1.2.3-14 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Install PHP 8.0 on Ubuntu 22.04
Thus, to install PHP 8.0 on Ubuntu 22.04, run the command;
apt install php8.0
This command will install PHP 8.0 along with other required package dependencies as seen from the output below.
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php-common php8.0-cli php8.0-common php8.0-opcache php8.0-readline Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php-common php8.0 php8.0-cli php8.0-common php8.0-opcache php8.0-readline 0 upgraded, 15 newly installed, 0 to remove and 727 not upgraded. Need to get 6,628 kB of archives. After this operation, 27.7 MB of additional disk space will be used. Do you want to continue? [Y/n] y
To install any other PHP 8.0 extensions, simply run the command below;
apt install php8.0-Extension
Where Extension is the name of the respective extension that you want to install. For example;
apt install php8.0-snmp
Install PHP 8.1 on Ubuntu 22.04
You can now install PHP 8.1 and any required extension on Ubuntu 22.04, run the command below;
apt install php8.1
This command will install PHP 8.1 along with other required package dependencies as seen from the output below.
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php-common php8.1-cli php8.1-common php8.1-opcache php8.1-readline Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php-common php8.1 php8.1-cli php8.1-common php8.1-opcache php8.1-readline 0 upgraded, 15 newly installed, 0 to remove and 727 not upgraded. Need to get 7,012 kB of archives. After this operation, 28.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y
To install any other PHP 8.1 extensions/modules, simply run the command below;
apt install php8.1-Extension
Replace Extension with the specific module/extension. For example;
apt install php8.1-mysql php8.1-xml
Check version of PHP Installed
You can check the version of PHP installed using the command;
php -v
PHP 8.1.0 (cli) (built: Nov 25 2021 19:57:29) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
And that is it on how to install PHP 8 on Ubuntu 22.04.
Other Tutorials
Install PHP 7.1/7.2/7.3/7.4 on Debian 11
Install phpLDAPAdmin on Debian 10/Debian 11