PHP VPS HostingThe Versions and Extensions You Choose
Run PHP without a host deciding your version, extensions or limits. We install PHP-FPM with NGINX or Apache, Composer and your database on a hardened KVM VPS, and you get root SSH to run one PHP version or several side by side.
Full root & SSH NVMe storage Daily backups Anti-DDoS 99.9% uptime SLA 11 locations
-
Root and SSH access
php.ini, FPM pools and extensions are yours to set.
-
Reserved vCores and RAM
PHP workers that no host throttles.
-
NVMe storage
Fast file reads, sessions and Composer installs.
-
Daily backups
Automatic backup of the previous 24 hours.
Why Run PHP on a VPS
Shared hosting fixes the PHP version, extensions and limits for everyone on the server. A VPS lets each application have exactly what it needs.
-
Several PHP versions side by side
Run an older app on an older PHP and a new one on the latest release, each with its own FPM pool, on one server.
-
Any extension
Install imagick, redis, intl, sodium, gmp or PECL extensions without waiting on a support ticket.
-
Your own limits
Set memory_limit, max_execution_time, upload sizes and OPcache for your code instead of a host-wide default.
-
CLI, cron and workers
Run long CLI scripts, queue consumers and minute-level cron jobs that shared hosting stops or throttles.
How PHP Runs on Your VPS
A web server in front, PHP-FPM pools behind it, and the CLI for everything that is not a web request.
Request from a browser or app (HTTPS)
-
Web server
NGINX or Apache
Serves static files and hands PHP requests to the right FPM pool over a Unix socket.
-
PHP runtime
PHP-FPM pools
One pool per site or app, each with its own PHP version, Linux user and worker limits.
-
Cache
OPcache + APCu or Redis
Compiled code in memory; APCu or Redis for application data.
-
CLI
php CLI + Composer
Dependencies, cron jobs, workers and maintenance scripts.
-
Database
MySQL, MariaDB or PostgreSQL
On the same server, listening on localhost only.
Worth knowing
- Extra PHP versions come from a maintained package repository and install side by side with the OS version.
- Each FPM pool can run as its own Linux user, so one site cannot read another's files.
- pm = ondemand suits many quiet sites; pm = dynamic or static suits busy apps.
- The CLI has its own php.ini, so set CLI limits separately from PHP-FPM.
What You Can Run on a PHP VPS
-
Custom PHP applications
In-house apps, portals and APIs on the exact PHP version they were built for.
-
Frameworks
Laravel, Symfony, CodeIgniter, CakePHP, Yii or Slim behind NGINX and PHP-FPM.
-
CMS and shops
WordPress, Drupal, Joomla, Magento, PrestaShop and OpenCart.
-
Older code
Applications that need an older PHP release, isolated in their own pool.
-
CLI tools and workers
Queue consumers, importers and scheduled scripts that run for minutes or hours.
-
Several client sites
Many PHP sites on one server, separated by pool and user.
VPS Plans for PHP
VPS-1 runs several small PHP sites. Busy applications and stores, which need more PHP-FPM workers and a bigger database, start on VPS-2.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Which Plan for Your PHP Workload
PHP memory is roughly the number of FPM workers times the memory each uses, plus the database. Typical apps use 40–120 MB per worker.
| Workload | Start with | Why |
|---|---|---|
| A few small sites or an API | VPS-1 2 vCores · 4 GB RAM | Enough PHP-FPM workers and a small database. |
| Busy application or store | VPS-2 4 vCores · 8 GB RAM | More workers and a larger database cache. |
| Several apps with queue workers | VPS-3 6 vCores · 12 GB RAM | 6 vCores for web and CLI work together. |
| Many sites or a large database | VPS-4 8 vCores · 24 GB RAM | 24 GB RAM and 200 GB NVMe. |
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
PHP on Shared Hosting or a VPS?
Shared hosting is simpler. A VPS lets every application have the PHP it needs.
| Feature | Shared hosting | PHP VPS |
|---|---|---|
| PHP versions | Chosen from the host's list | Any, several side by side |
| Extensions | The host's selection | Anything packaged or from PECL |
| php.ini limits | Capped by the host | Your settings |
| Long CLI scripts and workers | Usually stopped | Yes |
| Server administration | Done by the host | Yours, after our free setup |
| Best for | Standard sites | Custom apps and specific versions |
| Explore Shared hosting | See Plans |
Adding a Second PHP Version
A common first task on Ubuntu: run an older app on its own PHP version beside the default one.
-
Install the version
From a maintained PHP repository such as Ondřej Surý's.
-
Create a pool for the app
Copy the default pool, then give it its own user and socket.
-
Point the site at it
Use the new socket in the site's server block.
-
Reload
Test, then apply without dropping connections.
# 1. Install the version
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml
# 2. Create a pool for the app
sudo cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/legacy.conf
sudo nano /etc/php/8.1/fpm/pool.d/legacy.conf
# 3. Point the site at it
sudo nano /etc/nginx/sites-available/legacy.example.com
# 4. Reload
sudo systemctl reload php8.1-fpm && sudo nginx -t && sudo systemctl reload nginx
Example commands; adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do (or ask us for a quote).
Installed and Secured Before You Log In
The VPS is unmanaged: after handover the server is yours to run. Before that, our engineers do the first setup once, free, so you start from a hardened server with PHP in place.
-
Choose a plan and location
Pick the resources you need and the datacentre closest to your users.
-
Tell us your PHP setup
Versions, database and domain: at order or right after.
-
We install and secure it
Server hardened, PHP installed and tested, HTTPS on your domain.
-
You take over with root
SSH access to a working server, ready for your code and data.
Your PHP server
- PHP-FPM in the version you choose, with OPcache
- Common extensions (mysqli, pdo, gd, intl, mbstring, curl, zip, xml)
- NGINX or Apache configured for your domain
- Composer
- MySQL, MariaDB or PostgreSQL with a database for your app
- Extra PHP versions on request
Yours to run after handover
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Not included in the free setup, but we can quote for it. No control panel by default: CloudPanel, HestiaCP or Virtualmin on request at no cost; cPanel and Plesk need their own licence.
Platform Specs and Locations
The same KVM platform on every plan; only the CPU, RAM, storage and port speed change.
| Virtualisation | KVM with reserved vCores and RAM |
|---|---|
| Storage | NVMe SSD on every plan |
| Network | Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan |
| Operating systems | Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD |
| Access | Full root over SSH, key-based login |
| Backups | Automatic daily backup of the previous 24 hours; snapshots and longer retention on request |
| Protection | Always-on anti-DDoS mitigation |
| Availability | 99.9% uptime SLA |
Secured before we hand it over
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Who a PHP VPS Suits
-
Developers with custom PHP apps
Code that needs specific versions, extensions or limits.
-
Agencies
Many PHP sites and versions on one server, isolated by pool.
-
Teams maintaining older software
Apps that cannot move to the newest PHP yet.
Security and Performance for PHP
Security
- Prefer supported PHP releases: end-of-life versions get no security fixes, so isolate legacy apps and plan their upgrade.
- Set expose_php = Off and disable functions your apps never use.
- Run each pool as its own user, with file permissions limiting what it can read.
- Keep Composer dependencies updated and check them with composer audit.
Performance
- Enable OPcache and give it enough memory for your whole codebase.
- Set pm.max_children to available RAM divided by memory per worker.
- Cache data in APCu or Redis instead of recomputing it.
- Use Composer's optimised autoloader in production.
Questions Before You Deploy
Not covered here? Ask an engineer before you order.
Run PHP Your Way
Choose a plan and tell us your PHP versions and extensions. We hand over a secured server with PHP-FPM ready.