📝 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!
4.4 KiB
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) orCmd+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-refreshorlocalhost: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:
- Check error logs:
/home/dewepw/woonoow.dewe.pw/wp-content/debug.log - Check PHP error logs:
/var/log/php-fpm/error.log - Enable WP_DEBUG temporarily to see detailed errors
- Contact development team with error details