Requirements
A summary of the server environment required to run Pubvana.
TL;DR
- PHP 8.1+ (8.2+ recommended)
- MySQL 5.7+ or MariaDB 10.3+
- Apache with mod_rewrite or Nginx with URL rewriting enabled
- Composer 2.x
- PHP extensions:
intl,json,mbstring,mysqlnd,curl,gdorimagick,xml
Details
PHP
Pubvana requires PHP 8.1 or higher. PHP 8.2 or 8.3 is recommended for best performance and long-term support. PHP 7.x is not supported.
The following PHP extensions must be enabled:
| Extension | Purpose |
|---|---|
intl |
Internationalisation support (required by CodeIgniter 4) |
json |
JSON encoding/decoding |
mbstring |
Multi-byte string handling |
mysqlnd |
MySQL native driver |
curl |
HTTP requests (marketplace, social sharing) |
gd or imagick |
Image processing and WebP conversion |
xml |
XML parsing (RSS feeds, sitemap) |
Set memory_limit to at least 256MB in your php.ini. Image processing during upload can be memory-intensive for large photos.
Database
- MySQL 5.7+ or MariaDB 10.3+
- A dedicated database and user with full privileges on that database are required.
- UTF-8 encoding (
utf8mb4character set) is strongly recommended.
Web Server
Apache with mod_rewrite enabled. The .htaccess file in public/ handles URL rewriting. Your virtual host must allow .htaccess overrides (AllowOverride All).
Nginx is also supported. You will need to configure URL rewriting manually — see the CodeIgniter 4 Nginx configuration guide for an example try_files block.
Composer
Composer 2.x must be available on the server to install PHP dependencies if you use git clone. Run composer --version to verify. Composer is not required when installing from a github release .zip or by using the easy-installer.
Writable Directory
The writable/ directory (and all subdirectories) must be writable by the web server user. Set permissions to 775 (with correct group ownership) or 777 if needed.
chmod -R 775 writable/
chown -R www-data:www-data writable/