X-Cart on VPS: Symfony-Based PHP E-commerce Platform with PCI DSS Out of the Box

27.03.2026
23:55

=== META DATA === Meta Title: X-Cart on VPS 2026: PHP E-commerce Platform Installation | THE.Hosting Meta Description: X-Cart 5.5 on VPS — Symfony-based PHP platform for online stores. Ubuntu, Nginx, MySQL setup, 50+ locations from Germany to Japan. From €12/mo. URL Slug: /x-cart-vps-php-ecommerce Language: English Date: March 2026

=== ARTICLE TEXT ===

X-Cart on VPS: Symfony-Based PHP E-commerce Platform with PCI DSS Out of the Box

X-Cart is a PHP e-commerce platform with a history going back to 1999. Over the decades it made the jump from a Smarty-based shopping cart to version 5.5, fully rebuilt on Symfony with PHP 8 support. Today X-Cart is actively developed and positions itself as a solution for technically demanding stores — primarily in the automotive aftermarket, where Year-Make-Model search, VIN lookup, and integrations with industry data catalogs matter. For general e-commerce it works too, with a strong emphasis on PCI DSS compliance and deep customizability.

This guide covers X-Cart 5.5 system requirements, the installation process on THE.Hosting VPS in any of 50+ locations — from Germany (Frankfurt) to Japan (Tokyo), from Netherlands (Meppel) to the US (New Jersey) — and post-installation configuration. Facts and real commands only.

What Is X-Cart 5.5

X-Cart 5.5 is a Symfony-based PHP application. Starting with version 5.5, the platform was fully rebuilt on the Symfony framework, which brought PHP 8 compatibility, a REST API with auto-generated documentation, and significantly improved developer tooling. Previous versions (5.4.x and earlier) ran on a proprietary architecture.

Licensing model: there is a free open-source version of X-Cart and commercial editions with extended features and support. The base installation is available for free from x-cart.com. X-Cart is one of the few platforms with PA-DSS certification — the payment application security standard — which matters for stores accepting credit cards directly through X-Payments.

In October 2025, the 5.6.0 Beta launched with Intelligent Order Routing (automatically routes orders to the warehouse closest to the customer) and per-location inventory tracking — aimed at businesses running multiple warehouses and drop-ship partners.

Who X-Cart is for:

X-Cart fits most naturally in a few scenarios. The automotive aftermarket — parts, accessories, tuning — where the platform delivers native Year-Make-Model search, VIN lookup, a "My Garage" feature, and integrations with industry catalogs like SEMA Data, ASAP Network, and AutoSync. B2B and industrial supply with price lists, role-based access, and wholesale pricing management. Projects where PCI DSS compliance is critical without additional infrastructure certification.

For a straightforward retail store without specific catalog search or industry integration requirements, more widely-adopted alternatives with larger theme ecosystems — PrestaShop, WooCommerce, or OpenCart — may serve you better.

X-Cart 5.5 System Requirements

Required:

  • PHP 7.4 (official recommendation for 5.5.x; PHP 8 support available starting 5.5)
  • MySQL 5.7.7+ or MariaDB 10.2.4+
  • Composer 2.1+
  • Apache 2.4+ or Nginx 1.x
  • Minimum 256 MB PHP memory_limit (mandatory on 64-bit servers)
  • 2+ GB free disk space

PHP extensions: curl (libCURL 7.39.0+ required, 7.43.0+ recommended), gd or ImageMagick, intl, mbstring, mysqli, opcache, pdo, pdo_mysql, phar, soap, xml, xmlrpc, xsl, zip, openssl.

The Phar extension is mandatory for platform updates and add-on installation. If upgrade issues arise, verify that Phar 2.0.1 or later is in use.

php.ini parameters:

memory_limit = 256M
; On 64-bit servers this is mandatory — 256M minimum
max_execution_time = 300
max_input_time = 300
upload_max_filesize = 32M
post_max_size = 32M

mod_rewrite (Apache) or equivalent Nginx rewrites are required for SEO-friendly URLs.

Preparing the VPS

After ordering VPS at THE.Hosting you receive root access via email. Connect:

ssh root@your-IP-address

Update the system and install essentials:

apt update && apt upgrade -y
apt install -y curl wget git unzip

Create a working user:

adduser xcart
usermod -aG sudo xcart

Firewall:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Timezone:

timedatectl set-timezone America/New_York

Installing the Stack

Nginx

X-Cart works with both Apache and Nginx. For VPS performance, Nginx + PHP-FPM is preferred:

apt install nginx -y
systemctl start nginx
systemctl enable nginx

MariaDB

apt install mariadb-server mariadb-client -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

Create the store database:

mysql -u root -p
CREATE DATABASE xcart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'xcart_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON xcart.* TO 'xcart_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

PHP 7.4 + PHP-FPM

add-apt-repository ppa:ondrej/php -y
apt update
apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mysql \
php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip \
php7.4-intl php7.4-soap php7.4-xmlrpc php7.4-xsl php7.4-opcache \
php7.4-pdo php7.4-imagick -y

Configure php.ini for PHP-FPM:

nano /etc/php/7.4/fpm/php.ini

Apply the parameters from the system requirements section above. Restart PHP-FPM:

systemctl restart php7.4-fpm

Composer

X-Cart 5.5 requires Composer 2.1+:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer --version

Installing X-Cart

Download the distribution from the official site x-cart.com → Download. After obtaining the archive, upload it to the server:

mkdir -p /var/www/xcart
cd /var/www/xcart
# Upload archive via scp or wget with your download link
# wget https://my.x-cart.com/download/... (link from your account)
tar -xzpf x-cart-5.5.x.x-en.tgz
rm x-cart-5.5.x.x-en.tgz

Set file permissions:

chown -R www-dаta:www-data /var/www/xcart
find /var/www/xcart -type d -exec chmod 755 {} \;
find /var/www/xcart -type f -exec chmod 644 {} \;

Nginx Configuration

nano /etc/nginx/sites-available/xcart.conf

Content:

server {
    listen 80;
    listen [::]:80;
    server_name yourstore.com www.yourstore.com;
    root /var/www/xcart;
    index cart.php index.php index.html;

    location @handler {
        index cart.php;
        rewrite ^/sitemap.xml(\?.+)?$ /cart.php?target=sitemap;
        rewrite ^/(.*)$ /cart.php?url=$1 last;
    }

    location / {
        try_files $uri $uri/ @handler;
    }

    location ~ \.php$ {
        try_files $uri @handler;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    access_log /var/log/nginx/xcart-access.log;
    error_log /var/log/nginx/xcart-error.log;
}

Activate the config:

ln -s /etc/nginx/sites-available/xcart.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

SSL Certificate

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourstore.com -d www.yourstore.com

X-Cart Web Installer

Open https://yourstore.com/install.php in your browser. The installer runs a server requirements check — all items must be green.

Accept the license agreement. Enter database credentials: host localhost, database name xcart, user and password. Create an administrator account.

The installer handles all steps automatically: directory setup, cache build, database population. The process takes 3–10 minutes depending on server performance.

After completion, delete install.php — a mandatory security step:

rm /var/www/xcart/install.php

The admin panel is accessible at https://yourstore.com/admin.php.

Post-Installation Configuration

Core settings — Admin → My store settings. Store name, email, currency, country, timezone.

Payment modules — Admin → Store Setup → Payment Methods. X-Cart includes dozens of built-in integrations: PayPal, Stripe, Authorize.Net, Braintree, and others. For on-site card processing without redirect, X-Payments — the separately licensed PA-DSS certified component — is used.

Shipping — Admin → Store Setup → Shipping. Configure zones, calculation methods (weight-based, order total, flat rate), and carrier integrations with UPS, FedEx, USPS, DHL.

Caching — Admin → System Tools → Cache Management. X-Cart uses its own caching mechanism. Cache backend selection (file, Redis, APC) is configured under Server Requirements & Setup in the official documentation.

Cron tasks — X-Cart requires cron for background operations: currency rate updates, stale data cleanup, queue processing. Add to crontab:

crontab -e
*/5 * * * * /usr/bin/php /var/www/xcart/console.php --target=cron >/dev/null 2>&1

Performance

OPcache — confirm it's enabled and configured:

opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60

FastCGI caching — add Nginx-level caching for static PHP catalog pages. Significantly reduces PHP-FPM load on repeated requests to the same catalog pages.

MariaDB — increase innodb_buffer_pool_size to 50–70% of available RAM. For X-Cart with a large product catalog this is critical for query performance.

Redis for sessions — for higher-traffic stores move session storage to Redis:

apt install redis-server php7.4-redis -y

Configure in php.ini:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

Choosing a VPS at THE.Hosting

For development and testing — Ferrum VPS with 2 vCPU / 2 GB RAM / 40 GB NVMe, from €12/month, available in all 50+ locations.

For a production X-Cart store, the Symfony architecture is more memory-hungry than lighter PHP platforms — go with Standard VPS with 4 vCPU / 8 GB RAM / 80 GB NVMe as a minimum for moderate-traffic production.

For automotive aftermarket (X-Cart's primary audience): USA (New Jersey, Secaucus) and Canada (Toronto) — the largest auto parts markets in North America; Germany (Frankfurt) — European automotive market; UK (London) — a major RHD auto parts market with its own jurisdiction.

For European e-commerce: Netherlands (Meppel) — Europe's internet hub; Germany (Frankfurt) — GDPR compliance; France (Paris) — French-speaking audience.

Asian market: Japan (Tokyo) — low latency for East Asia; Hong Kong — gateway to China; South Korea (Seoul).

CIS and Eastern Europe: Moldova (Chișinău) — Dedicated servers available; Poland (Warsaw); Finland (Helsinki).

For high-traffic projects go straight to Dedicated Server — available in Finland, France, Germany, Moldova, Netherlands, USA and UK.

Common Issues

White screen or 500 error. Check the Nginx log: tail -f /var/log/nginx/xcart-error.log and the PHP-FPM log: tail -f /var/log/php7.4-fpm.log. Most commonly insufficient memory_limit (must be at least 256M on 64-bit) or a missing PHP extension.

Installer fails extension check. Confirm extensions are installed for php7.4-fpm specifically, not the system PHP. Verify: php7.4 -m | grep -E "phar|soap|xmlrpc".

Cache build is slow or times out. Normal on first run with a large store. If the process times out, increase max_execution_time in /etc/php/7.4/fpm/php.ini to 600 and restart php-fpm.

Cron not working. X-Cart explicitly requires cron for several features. Verify the task is added for the www-data user or runs with the correct paths. Test manually: sudo -u www-data /usr/bin/php /var/www/xcart/console.php --target=cron.

Ready to launch your store on X-Cart?

On THE.Hosting VPS with NVMe drives and root access you get full control — configure Nginx, PHP-FPM and MariaDB to fit a Symfony-based platform's demands. Choose from 50+ locations closest to your audience.

Order VPS for X-Cart

FAQ:

Is X-Cart free? There is a free open-source version available for download on x-cart.com. Commercial editions (Business, Ultimate) add features and support — pricing is available on the official site. X-Payments (the PA-DSS payment component) is licensed separately.

What changed from X-Cart 5.4 to 5.5? Fundamentally — version 5.5 was rewritten on Symfony. This means PHP 8 support, a REST API with documentation, Symfony bundle ecosystem compatibility, and a modern application structure. Upgrading from 5.4.x to 5.5.x is non-trivial: it requires Composer 2.1+ and manual file structure changes, and can only be done from the latest 5.4.x release.

What is X-Cart particularly well-suited for? Primarily the automotive aftermarket: parts, accessories, performance upgrades. Native Year-Make-Model search, VIN lookup, and integrations with industry catalogs like SEMA Data and ASAP Network are capabilities that don't exist out of the box in PrestaShop, WooCommerce, or Magento. For general e-commerce it works, but the competitive advantage is in the automotive niche.

How resource-intensive is X-Cart compared to other PHP platforms? X-Cart 5.5 on Symfony is heavier than PrestaShop or OpenCart at comparable load. The Symfony framework consumes more memory at startup — minimum 256M per process, 512M is more comfortable for production. Factor this into your VPS tier selection.

Does X-Cart support multiple stores? Multi-store functionality is available in commercial editions. The base open-source version does not include management of multiple independent storefronts.

THE.Hosting Useful Links:

X-Cart Resources: