Back to blog
May 23, 2026Guides

How to Install PHP on VPS (Ubuntu and CentOS)

Install PHP 8.x with common extensions for WordPress, Laravel, and other web apps on your server.

How to Install PHP on VPS (Ubuntu and CentOS)

Most websites need PHP. This guide installs PHP 8.x and common extensions on Ubuntu and CentOS-based Hiddence servers.

Ubuntu / Debian

bash
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.2 php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-redis
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm
php -v

CentOS / RHEL / Alma / Rocky

bash
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo yum module reset php -y
sudo yum module enable php:remi-8.2 -y
sudo yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip php-redis
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
php -v

Install extra extensions

Add extensions as your application requires:

bash
# Ubuntu example:
sudo apt install -y php8.2-intl php8.2-bcmath php8.2-imagick

# Then restart PHP-FPM:
sudo systemctl restart php8.2-fpm

Verify PHP-FPM with Nginx

bash
sudo nano /etc/nginx/sites-available/default

# Inside server block:
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}

sudo nginx -t && sudo systemctl reload nginx

Tips

  • Match PHP version to your CMS/framework requirements
  • Set memory_limit and upload_max_filesize in php.ini for your app
  • Use php-fpm pool tuning for high-traffic sites
  • Never expose phpinfo() in production
  • Keep PHP updated for security patches