Files
WooNooW/DEPLOYMENT_GUIDE.md
dwindown 547cb6c4c5 docs: Add comprehensive deployment guide
📝 Created DEPLOYMENT_GUIDE.md:
- Step-by-step server deployment process
- Cache clearing procedures (OPcache, WordPress, Browser)
- File verification commands
- Endpoint testing procedures
- Common issues & solutions
- Verification checklist
- Rollback procedure
- Production checklist

🎯 Covers All Common Issues:
1. SPA not loading (dev mode detection)
2. API 500 errors (namespace case)
3. WordPress media not loading (standalone)
4. Changes not reflecting (cache layers)

 Ready for Server Deployment!
2025-11-16 11:04:20 +07:00

4.4 KiB

Deployment Guide

Server Deployment Steps

1. Pull Latest Code

cd /home/dewepw/woonoow.dewe.pw/wp-content/plugins/woonoow
git pull origin main

2. Clear All Caches

WordPress Object Cache

wp cache flush

OPcache (PHP)

Create a file clear-opcache.php in plugin root:

<?php
if (function_exists('opcache_reset')) {
    opcache_reset();
    echo "OPcache cleared!";
} else {
    echo "OPcache not available";
}

Then visit: https://woonoow.dewe.pw/wp-content/plugins/woonoow/clear-opcache.php

Or via command line:

php -r "opcache_reset();"

Browser Cache

  • Hard refresh: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (Mac)
  • Or clear browser cache completely

3. Verify Files

# Check if Routes.php has correct namespace
grep "use WooNooW" includes/Api/Routes.php

# Should show:
# use WooNooW\Api\PaymentsController;
# use WooNooW\Api\StoreController;
# use WooNooW\Api\DeveloperController;
# use WooNooW\Api\SystemController;

# Check if Assets.php has correct is_dev_mode()
grep -A 5 "is_dev_mode" includes/Admin/Assets.php

# Should show:
# defined('WOONOOW_ADMIN_DEV') && WOONOOW_ADMIN_DEV === true

4. Check File Permissions

# Plugin files should be readable
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

5. Test Endpoints

Test API

curl -I https://woonoow.dewe.pw/wp-json/woonoow/v1/store/settings

Should return 200 OK, not 500 Internal Server Error.

Test Admin SPA

Visit: https://woonoow.dewe.pw/wp-admin/admin.php?page=woonoow

Should load the SPA, not show blank page or errors.

Test Standalone

Visit: https://woonoow.dewe.pw/admin

Should load standalone admin interface.


Common Issues & Solutions

Issue 1: SPA Not Loading (Blank Page)

Symptoms:

  • Blank page in wp-admin
  • Console errors about @react-refresh or localhost:5173

Cause:

  • Server is in dev mode
  • Trying to load from Vite dev server

Solution:

# Check wp-config.php - remove or set to false:
define('WOONOOW_ADMIN_DEV', false);

# Or remove the line completely

Issue 2: API 500 Errors

Symptoms:

  • All API endpoints return 500
  • Error: Class "WooNooWAPIPaymentsController" not found

Cause:

  • Namespace case mismatch
  • Old code cached

Solution:

# 1. Pull latest code
git pull origin main

# 2. Clear OPcache
php -r "opcache_reset();"

# 3. Clear WordPress cache
wp cache flush

# 4. Verify namespace fix
grep "use WooNooW\\\\Api" includes/Api/Routes.php

Issue 3: WordPress Media Not Loading (Standalone)

Symptoms:

  • "WordPress Media library is not loaded" error
  • Image upload doesn't work

Cause:

  • Missing wp.media scripts

Solution:

  • Already fixed in latest code
  • Pull latest: git pull origin main
  • Clear cache

Issue 4: Changes Not Reflecting

Symptoms:

  • Code changes don't appear
  • Still seeing old errors

Cause:

  • Multiple cache layers

Solution:

# 1. Clear PHP OPcache
php -r "opcache_reset();"

# 2. Clear WordPress object cache
wp cache flush

# 3. Clear browser cache
# Hard refresh: Ctrl+Shift+R

# 4. Restart PHP-FPM (if needed)
sudo systemctl restart php8.1-fpm
# or
sudo systemctl restart php-fpm

Verification Checklist

After deployment, verify:

  • Git pull completed successfully
  • OPcache cleared
  • WordPress cache cleared
  • Browser cache cleared
  • API endpoints return 200 OK
  • WP-Admin SPA loads correctly
  • Standalone admin loads correctly
  • No console errors
  • Dashboard displays data
  • Settings pages work
  • Image upload works

Rollback Procedure

If deployment causes issues:

# 1. Check recent commits
git log --oneline -5

# 2. Rollback to previous commit
git reset --hard <commit-hash>

# 3. Clear caches
php -r "opcache_reset();"
wp cache flush

# 4. Verify
curl -I https://woonoow.dewe.pw/wp-json/woonoow/v1/store/settings

Production Checklist

Before going live:

  • All features tested
  • No console errors
  • No PHP errors in logs
  • Performance tested
  • Security reviewed
  • Backup created
  • Rollback plan ready
  • Monitoring in place

Support

If issues persist:

  1. Check error logs: /home/dewepw/woonoow.dewe.pw/wp-content/debug.log
  2. Check PHP error logs: /var/log/php-fpm/error.log
  3. Enable WP_DEBUG temporarily to see detailed errors
  4. Contact development team with error details