Manual Upgrade
How to manually upgrade from version 3.x.x when one-click updates aren't available.
Manual upgrades are necessary when:
- You don't have an active support license for one-click updates
- Your hosting provider disables the
exec()PHP function (common on shared hosting)
Note: One-click updates require the
exec()PHP function, which is typically available on VPS hosting but often disabled on shared hosting for security reasons. If you're on shared hosting andexec()is disabled, manual upgrades are your only option.
Easier Option (VPS users): Extend your support on CodeCanyon to enable automatic one-click updates. You can renew at any time, even if support has expired.
Manual Upgrade Steps
1. Prepare a Staging Environment
Upload the new version to a temporary subdomain (e.g., staging.yourdomain.com). This keeps your production site running while you prepare the upgrade.
2. Copy Your Data
Transfer these files from your current production installation to the new staging installation:
| File/Directory | Purpose |
|---|---|
.env |
Your environment configuration (database, mail, app settings) |
public/files/ |
All user-uploaded files (images, documents) |
database/database.sqlite |
Your database (SQLite only—skip if using MySQL/PostgreSQL) |
Tip: Use your hosting file manager or an FTP client. For
.env, you may need to enable "show hidden files" (macOS:Cmd + Shift + .).
3. Run Database Migrations
After copying your .env, you need to apply database changes. Choose one method:
Option A: Via Admin Dashboard (easiest)
- Log in as admin at
/en-us/admin/ - If migrations are pending, you'll see a message: "An update is required for your database. Click here to apply the update."
- Click the link to run migrations automatically
Option B: Via Command Line
php artisan migrate --force
The --force flag is required when running in production.
4. Clear Caches
php artisan optimize:clear
5. Test the Staging Site
Verify everything works:
- Login functions correctly
- Member data is intact
- Uploaded files display properly
- Points and rewards are accurate
6. Switch to Production
Once verified, update your DNS:
- Remove DNS from your current production domain (or point it to a maintenance page)
- Update DNS of the staging subdomain to your main domain
- Or simply rename directories if both are on the same server
Wait for DNS propagation (can take up to 48 hours, but often much faster).
Alternative: In-Place Upgrade
If you prefer not to use a staging subdomain:
-
Back up everything — download your entire installation, especially:
.envpublic/files/(all user uploads)database/database.sqlite(if using SQLite)
-
Delete all files on the server (or move them to a backup folder)
-
Upload the new version from the
public_htmlfolder in the CodeCanyon zip -
Restore your data:
- Copy your
.envback to the root directory - Copy your
public/files/contents back (overwrite the empty directory) - Copy
database/database.sqliteback (if using SQLite)
- Copy your
-
Run migrations — either:
- Log in as admin at
/en-us/admin/and click the database update prompt, or - Run
php artisan migrate --forcevia command line
- Log in as admin at
-
Clear cache:
php artisan optimize:clear
Important: The new version includes an empty
public/files/directory. Depending on your upload method, this may or may not overwrite your existing user uploads. Always back uppublic/files/first and restore it after uploading to be safe.
MySQL/PostgreSQL Users
If you use MySQL or PostgreSQL instead of SQLite:
- Your database is stored externally, so you don't need to copy
database/database.sqlite - Just ensure your
.envhas the correct database credentials - The new installation will connect to your existing database automatically
Recommended: Enable Automatic Updates
Manual upgrades work, but automatic one-click updates are safer and faster. To enable them:
- Renew support on CodeCanyon
- Enter your purchase code in Admin → License & Updates
- Future updates install with a single click
Support renewal is a one-time payment that gives you access to all updates released during the support period.