generateDataUri($testUrl); echo "✅ QR Code generated successfully\n"; echo "Data URI length: " . strlen($dataUri) . " characters\n\n"; // Generate with larger style for better scanning $largeStyle = QrCodeStyle::large(); $largeSvg = $generator->generateSvg($testUrl, ErrorCorrectionLevel::M, null); $largeDataUri = $renderer->toDataUrl( \App\Framework\QrCode\QrCodeGenerator::generate($testUrl), $largeStyle ); echo "✅ Large QR Code generated\n"; echo "Large Data URI length: " . strlen($largeDataUri) . " characters\n\n"; // Save SVG for inspection $svgFile = __DIR__ . '/homepage-qrcode.svg'; file_put_contents($svgFile, $largeSvg); echo "SVG saved to: {$svgFile}\n\n"; echo "Recommendations:\n"; echo "1. Use larger module size (20px instead of 10px)\n"; echo "2. Ensure quiet zone is 4 modules (already default)\n"; echo "3. Test with multiple QR code scanner apps\n"; echo "4. Check if SVG is rendering correctly in browser\n"; } catch (\Exception $e) { echo "ERROR: " . $e->getMessage() . "\n"; echo "Trace:\n" . $e->getTraceAsString() . "\n"; }