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!
This commit is contained in:
dwindown
2025-11-16 11:04:20 +07:00
parent b61d74fb8e
commit 547cb6c4c5

234
DEPLOYMENT_GUIDE.md Normal file
View File

@@ -0,0 +1,234 @@
# Deployment Guide
## Server Deployment Steps
### 1. Pull Latest Code
```bash
cd /home/dewepw/woonoow.dewe.pw/wp-content/plugins/woonoow
git pull origin main
```
### 2. Clear All Caches
#### WordPress Object Cache
```bash
wp cache flush
```
#### OPcache (PHP)
Create a file `clear-opcache.php` in plugin root:
```php
<?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:
```bash
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
```bash
# 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
```bash
# Plugin files should be readable
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
```
### 5. Test Endpoints
#### Test API
```bash
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:**
```bash
# 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:**
```bash
# 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:**
```bash
# 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:
```bash
# 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