Common Issues

Installer, pretty URLs, gateways, cron, uploads

What it is

Common issues and their solutions. Use this as a first port of call when something does not work as expected.

Installer does not run

  • Cause: storage/.installed file exists (installer thinks it has already run).
  • Fix: Delete storage/.installed to re-run. Or remove the entire install directory and re-upload if you need a fresh install.
  • Ensure PHP 8.0+ and required extensions (MySQLi, JSON, GD, cURL) are available.

Pretty URLs not working (404 on /client/invoices etc.)

  • Apache: Ensure .htaccess exists in the document root and mod_rewrite is enabled. AllowOverride All must be set for the directory.
  • Nginx: Add rewrite rules to pass requests to index.php. Example: try_files $uri $uri/ /index.php?$query_string;

Payment gateways not showing

  • Go to Admin → Settings → Payment Gateways (not Admin → Modules for gateways).
  • Enable the gateway and fill in all required fields (keys, secrets).
  • For Stripe/PayPal, ensure the webhook URL is correct: https://yourdomain.com/webhooks/stripe (or /webhooks/paypal).
  • Check that the module file exists in modules/gateways/stripe/ (or equivalent).

Cron jobs not running

  • Verify the cron path: which php to get the correct PHP binary path.
  • Test manually: php /full/path/to/cron/run.php
  • Check file permissions: the cron script must be readable and executable.
  • Check Admin → Settings → Cron for last run time if displayed.

File uploads not working

  • Ensure /uploads exists and is writable (chmod 755 or 775).
  • Check Admin → Settings → File Uploads for allowed file types and max size.
  • Verify PHP upload_max_filesize and post_max_size in php.ini are sufficient.

TinyMCE editor not loading

  • Configure the TinyMCE API key in Admin → Settings → Security.
  • Ensure the server can reach the TinyMCE CDN.
  • Check the browser console for JavaScript errors.

Was this helpful?