Skip to main content
FacturaScripts is designed to run on most modern web hosting environments. This page outlines the system requirements needed to run FacturaScripts successfully.

Minimum Requirements

PHP Requirements

PHP Version
string
required
Minimum: PHP 8.0
Recommended: PHP 8.1 or higher
FacturaScripts requires modern PHP features introduced in PHP 8.0+.

Required PHP Extensions

These PHP extensions are required and must be enabled:
ExtensionPurpose
ext-bcmathPrecise decimal arithmetic for financial calculations
ext-curlHTTP requests and external API integrations
ext-domXML document parsing and manipulation
ext-fileinfoFile type detection for uploads
ext-gdImage processing and thumbnail generation
ext-jsonJSON encoding/decoding
ext-mysqliMySQL/MariaDB database connectivity
ext-pgsqlPostgreSQL database connectivity
ext-simplexmlXML parsing for configurations
ext-zipZIP file handling for plugins and backups
To check which PHP extensions are installed on your system:
# List all installed extensions
php -m

# Check specific extension
php -m | grep bcmath
Or create a PHP info file:
<?php
phpinfo();

Database Requirements

Minimum Versions:
  • MySQL 5.7 or higher
  • MariaDB 10.2 or higher
Configuration:
  • InnoDB storage engine
  • UTF-8 (utf8mb4) character set support
  • max_allowed_packet ≥ 16MB
Required Privileges:
GRANT SELECT, INSERT, UPDATE, DELETE, 
      CREATE, ALTER, DROP, INDEX, 
      REFERENCES, CREATE TEMPORARY TABLES
ON database_name.* TO 'user'@'localhost';

Web Server Requirements

Minimum Version: Apache 2.4+Required Modules:
  • mod_rewrite - URL rewriting
  • mod_headers - HTTP header manipulation
  • mod_env - Environment variables
Enable modules:
sudo a2enmod rewrite headers env
sudo systemctl restart apache2
.htaccess Support:
  • AllowOverride All must be enabled in your virtual host configuration
For optimal performance, especially with larger datasets or multiple concurrent users:

Server Resources

Memory

Minimum: 256 MB RAM
Recommended: 512 MB+ RAM
Heavy Use: 1 GB+ RAM

Storage

Minimum: 500 MB disk space
Recommended: 2 GB+ disk space
(for documents, backups, logs)

CPU

Minimum: 1 CPU core
Recommended: 2+ CPU cores

Network

Stable internet connection for:
  • Plugin downloads
  • Updates
  • External integrations

PHP Configuration

Recommended php.ini settings:
; Memory limit
memory_limit = 256M

; Maximum execution time
max_execution_time = 60

; File upload limits
upload_max_filesize = 20M
post_max_size = 25M

; Session configuration
session.gc_maxlifetime = 3600
session.cookie_httponly = 1
session.cookie_secure = 1  ; If using HTTPS

; Error reporting (production)
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On

; Timezone
date.timezone = Europe/Madrid
After modifying php.ini:
# Restart Apache
sudo systemctl restart apache2

# Or restart PHP-FPM (for Nginx)
sudo systemctl restart php8.0-fpm

# Verify changes
php -i | grep memory_limit

Development Requirements

For plugin development or contributing to FacturaScripts core:

Additional Tools

Dependency Management
# Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# Verify installation
composer --version
Required for installing PHP dependencies.

Development Dependencies

These are automatically installed via Composer during development:
  • PHPUnit 9.x - Unit testing framework
  • PHP_CodeSniffer 3.x - Code style checking
  • PHPStan - Static analysis tool

Browser Requirements

For the web interface, FacturaScripts supports:
  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+
Internet Explorer is not supported. Use a modern browser for the best experience.

Hosting Compatibility

Shared Hosting

Yes, FacturaScripts can run on shared hosting, provided:✅ PHP 8.0+ is available
✅ All required PHP extensions are enabled
✅ You have database access (MySQL/MariaDB)
✅ SSH access (recommended for Composer)
Limitations:
  • Plugin installation may require manual upload
  • Some hosting providers restrict certain PHP functions
  • Performance may be limited by shared resources

Cloud Hosting

Recommended cloud platforms:

DigitalOcean

Droplets with 1GB+ RAM

AWS

EC2 instances (t3.small+)

Google Cloud

Compute Engine VMs

Linode

Nanode 1GB+

Vultr

Cloud Compute 1GB+

Hetzner

Cloud servers CX11+

Docker

While FacturaScripts doesn’t provide official Docker images, you can create your own:Base requirements:
  • PHP 8.0+ image with required extensions
  • MySQL or PostgreSQL container
  • Volume mounts for persistent data
See the community Docker examples for sample configurations.

Checking Your System

Automated Check

FacturaScripts includes a system check during installation that verifies:
  • PHP version and extensions
  • Database connectivity
  • File permissions
  • Memory limits

Manual Check

Create a phpinfo.php file in your web root:
<?php
phpinfo();
Access it via your browser and verify:
  1. PHP version ≥ 8.0
  2. All required extensions are loaded
  3. Configuration matches recommendations
Delete the phpinfo.php file after checking to avoid exposing server information.

Performance Considerations

For optimal database performance:
  • Use InnoDB engine for MySQL (not MyISAM)
  • Enable query cache (if MySQL < 8.0)
  • Regular maintenance (OPTIMIZE TABLE)
  • Proper indexes (handled automatically by FacturaScripts)
Enable caching in production:
// config.php
define('FS_CACHE_ENABLED', true);
define('FS_CACHE_LIFETIME', 3600);
Consider using:
  • OpCache for PHP bytecode caching
  • Redis or Memcached for data caching (requires plugins)
For better file I/O performance:
  • Use SSD storage if possible
  • Ensure MyFiles/ directory has fast disk access
  • Regular backups to separate storage

Next Steps

Installation

Install FacturaScripts on your server

Quick Start

Get started after installation

Troubleshooting

Common issues and solutions

Support

Get help from the community