From 20f1a16bb0e6ce79f58ad8856597a7aa58fa9493 Mon Sep 17 00:00:00 2001 From: DJP Date: Tue, 16 Dec 2025 11:19:52 -0500 Subject: [PATCH] Add server diagnostic script for debugging 500 errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created server-check.php to diagnose deployment issues: CHECKS: ✓ PHP version and server info ✓ Composer vendor/ directory exists ✓ Firebase JWT library installed ✓ config.php exists ✓ .env file exists ✓ All critical PHP files present ✓ Directory permissions (uploads/) ✓ Test loads env_loader.php ✓ Test loads config.php ✓ Test loads AuthMiddleware.php ✓ Shows specific errors if files fail to load USAGE: Visit: https://your-server.com/nano-pro/server-check.php Shows: - What's missing or broken - Exact error messages - Action items to fix - Deployment checklist Perfect for diagnosing 500 errors without SSH access! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 (1M context) --- server-check.php | 152 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 server-check.php diff --git a/server-check.php b/server-check.php new file mode 100644 index 0000000..e39ddc7 --- /dev/null +++ b/server-check.php @@ -0,0 +1,152 @@ + + + + + Server Diagnostic - Nano Banana Pro + + + +

=== NANO BANANA PRO SERVER DIAGNOSTIC ===

+ +
+

1. PHP Information

+
PHP Version: 
+
Server: 
+
Document Root: 
+
Current Directory: 
+
+ +
+

2. Composer Dependencies (vendor/)

+ +
✓ vendor/ directory EXISTS
+
✓ Autoload: 
+
✓ Firebase JWT: 
+ +
✗ vendor/ directory MISSING
+
✗ FIX: Run 'composer install' on the server
+ +
+ +
+

3. Configuration Files

+
config.php: 
+
.env: 
+
.env.example: 
+
+ +
+

4. Critical Files Check

+ +
: 
+ +
+ +
+

5. Directory Permissions

+ +
uploads/: 
+
uploads/sessions/: 
+
+ +
+

6. Testing File Loads

+ Testing env_loader.php..."; + try { + if (file_exists(__DIR__ . '/env_loader.php')) { + require_once __DIR__ . '/env_loader.php'; + echo "
✓ env_loader.php loaded successfully
"; + } else { + echo "
✗ env_loader.php missing
"; + } + } catch (Exception $e) { + echo "
✗ Error: " . htmlspecialchars($e->getMessage()) . "
"; + } + + echo "
Testing config.php...
"; + try { + if (file_exists(__DIR__ . '/config.php')) { + require_once __DIR__ . '/config.php'; + echo "
✓ config.php loaded successfully
"; + echo "
  GEMINI_API_KEY: " . (defined('GEMINI_API_KEY') && !empty(GEMINI_API_KEY) ? '✓ SET' : '✗ NOT SET') . "
"; + echo "
  SSO_ENABLED: " . (defined('SSO_ENABLED') ? (SSO_ENABLED ? 'TRUE' : 'FALSE') : '✗ NOT SET') . "
"; + } else { + echo "
✗ config.php missing
"; + } + } catch (Exception $e) { + echo "
✗ Error: " . htmlspecialchars($e->getMessage()) . "
"; + } + + echo "
Testing AuthMiddleware.php...
"; + try { + if (file_exists(__DIR__ . '/AuthMiddleware.php')) { + require_once __DIR__ . '/AuthMiddleware.php'; + echo "
✓ AuthMiddleware.php loaded successfully
"; + } else { + echo "
✗ AuthMiddleware.php missing
"; + } + } catch (Exception $e) { + echo "
✗ Error: " . htmlspecialchars($e->getMessage()) . "
"; + } + ?> +
+ +
+

7. Next Steps

+ +
ACTION REQUIRED: Run 'composer install' on the server
+ + +
ACTION REQUIRED: Copy config.example.php to config.php and add API key
+ + +
✓ All critical files present - check error logs for specific PHP error
+ +
+ +

Deployment Checklist:

+
+    1. git pull origin master
+    2. composer install
+    3. cp config.example.php config.php
+    4. Edit config.php (add Gemini API key)
+    5. cp .env.example .env
+    6. mkdir -p uploads/sessions
+    7. chmod 755 uploads/sessions
+    8. Visit index.php
+    
+ + +