Self-Hosting

Host ZephyrPHP on your own server. Full control over your data, code, and infrastructure.

Server Requirements

Requirement Details
PHP8.2 or higher with PDO, mbstring, openssl, json
DatabaseMySQL 5.7+ / MariaDB 10.3+ / PostgreSQL 12+ / SQLite 3
Web ServerApache (with mod_rewrite) or Nginx
Disk SpaceMinimum 50MB + space for uploads

Apache Configuration

ZephyrPHP includes a .htaccess file. Set your document root to the public/ directory:

<VirtualHost *:80>
    ServerName mysite.com
    DocumentRoot "/var/www/mysite/public"

    <Directory "/var/www/mysite/public">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Nginx Configuration

server {
    listen 80;
    server_name mysite.com;
    root /var/www/mysite/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Shared Hosting

ZephyrPHP works on shared hosting providers that support PHP 8.2+. Upload your project and point the domain to the public/ directory.

File Permissions

Ensure the web server can write to:

  • storage/ — Logs, cache, compiled views, analytics data
  • public/uploads/ — Uploaded media files
chmod -R 775 storage public/uploads

Environment Configuration

For production, update your .env file:

APP_DEBUG=false
ENV=production
APP_URL=https://mysite.com
Security

Always set APP_DEBUG=false in production. Debug mode exposes sensitive information like stack traces and environment variables.