Prerequisites
Before enabling PHP extensions, make sure you have:
- SSH access to your VPS
- Root or sudo privileges
List Available PHP Extensions
ssh hxroot@YOUR_SERVER_IP -p 22
php -m
For specific PHP version:
php7.4 -m
php8.1 -m
php8.2 -m
Install Common PHP Extensions
For PHP 8.2:
apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-xml php8.2-zip php8.2-mbstring php8.2-intl php8.2-bcmath
For PHP 8.1:
apt install php8.1-mysql php8.1-curl php8.1-gd php8.1-xml php8.1-zip php8.1-mbstring
For PHP 7.4:
apt install php7.4-mysql php7.4-curl php7.4-gd php7.4-xml php7.4-zip php7.4-mbstring
Enable Extensions in php.ini
Find php.ini location:
php -i | grep "Loaded Configuration File"
Edit php.ini:
nano /etc/php/8.2/cli/php.ini
For web (FPM), edit:
nano /etc/php/8.2/fpm/php.ini
Uncomment or add:
extension=curl
extension=gd
extension=mbstring
extension=pdo_mysql
extension=mysqli
extension=xml
Enable Extensions for Specific PHP Version in HestiaCP
When using PHP-FPM, extensions are managed per version in:
/etc/php/8.2/fpm/conf.d/
Enable by creating symlink:
phpenmod -v 8.2 curl gd mbstring
Restart PHP-FPM After Changes
systemctl restart php8.2-fpm
Verify Extension is Enabled
Create test file:
echo "" > /var/www/html/info.php
Browse to https://yourdomain.com/info.php and search for extension name.
Common PHP Extensions for Popular CMS
| CMS/App | Required Extensions |
|---|---|
| WordPress | mysql, curl, gd, xml, zip, mbstring |
| Laravel | pdo_mysql, mbstring, tokenizer, xml, json, bcmath |
| Drupal | gd, curl, xml, mbstring, zip |
| Magento | bcmath, curl, gd, intl, mbstring, pdo_mysql, soap, xml, zip |
✅ PHP extensions have been enabled successfully!