EasyStream Requirements Check"; echo ""; $errors = []; $warnings = []; // Check PHP version echo "

PHP Version

"; if (version_compare(PHP_VERSION, '7.4.0', '>=')) { echo "

✓ PHP " . PHP_VERSION . " (OK)

"; } else { echo "

✗ PHP " . PHP_VERSION . " (Requires 7.4+)

"; $errors[] = 'PHP version too old'; } // Check required extensions echo "

Required Extensions

"; $required_extensions = [ 'pdo' => 'Database connectivity', 'pdo_mysql' => 'MySQL database support', 'json' => 'JSON processing', 'mbstring' => 'Multi-byte string support', 'curl' => 'HTTP requests', 'gd' => 'Image processing', 'session' => 'Session management' ]; foreach ($required_extensions as $ext => $desc) { if (extension_loaded($ext)) { echo "

✓ {$ext} - {$desc}

"; } else { echo "

✗ {$ext} - {$desc} (MISSING)

"; $errors[] = "Missing extension: {$ext}"; } } // Check optional but recommended extensions echo "

Recommended Extensions

"; $recommended_extensions = [ 'redis' => 'Queue system and caching', 'imagick' => 'Advanced image processing', 'opcache' => 'PHP performance optimization' ]; foreach ($recommended_extensions as $ext => $desc) { if (extension_loaded($ext)) { echo "

✓ {$ext} - {$desc}

"; } else { echo "

⚠ {$ext} - {$desc} (RECOMMENDED)

"; $warnings[] = "Missing recommended extension: {$ext}"; } } // Check directory permissions echo "

Directory Permissions

"; $directories = [ 'f_data/logs' => 'Log files', 'f_data/data_userfiles' => 'User uploaded files', 'f_data/data_thumbs' => 'Thumbnail cache', 'f_data/data_tmp' => 'Temporary files' ]; foreach ($directories as $dir => $desc) { if (is_dir($dir)) { if (is_writable($dir)) { echo "

✓ {$dir} - {$desc} (Writable)

"; } else { echo "

✗ {$dir} - {$desc} (NOT WRITABLE)

"; $errors[] = "Directory not writable: {$dir}"; } } else { echo "

⚠ {$dir} - {$desc} (DOES NOT EXIST)

"; $warnings[] = "Directory missing: {$dir}"; } } // Summary echo "

Summary

"; if (empty($errors)) { echo "

✓ All critical requirements met!

"; } else { echo "

✗ Critical issues found:

"; echo ""; } if (!empty($warnings)) { echo "

⚠ Warnings (recommended fixes):

"; echo ""; } echo "

Next Steps

"; echo "
    "; echo "
  1. Fix any critical errors above
  2. "; echo "
  3. Run: docker-compose up -d to start all services
  4. "; echo "
  5. Import database: docker exec -i vs-db mysql -u easystream -p easystream < __install/easystream.sql
  6. "; echo "
  7. Run missing tables: docker exec -i vs-db mysql -u easystream -p easystream < deploy/create_missing_tables.sql
  8. "; echo "
  9. Check queue worker: docker logs vs-queue-worker
  10. "; echo "
"; ?>